javascript - JDBC - MySQL 调用存储过程

标签 javascript mysql stored-procedures jdbc callable-statement

我使用以下代码连接到数据库:

var ServerIP = '[ip]'; 
var SQL_Port = '3306';
var SQL_Usr = '[user]';
var SQL_Pwd = '[pass]';
var SQL_DB = '[db-name]';

var connectorInstance = 'jdbc:mysql://' + ServerIP+':'+SQL_Port;
var ConnectString = connectorInstance+'/'+SQL_DB;

var conn = Jdbc.getConnection(ConnectString, SQL_Usr, SQL_Pwd);
//Executes the queries
var execStmt = conn.createStatement();

var doc = SpreadsheetApp.getActiveSpreadsheet();
doc.setActiveSheet(doc.getSheetByName('Sheet1'));

var mysqlQuery = execStmt.executeQuery("select Name, Status From data_table ORDER BY Name");
var cell = doc.getRange('A2');

var row = 0;
while(mysqlQuery.next()) {
for(var i=0; i<8; i++) { 
cell.offset(row, i).setValue(mysqlQuery.getString(i+1));
}
row++;
}

mysqlQuery.close();
execStmt.close();
conn.close();

我需要使用以下存储过程:

调用 procedure_name()

在谷歌搜索完之后,我无法理解应该在代码中的何处以及如何实现这一行。

最佳答案

要调用过程,您需要使用 CallableStatement

String aString = ...
int aNumber = ...
CallableStatement cs = conn.prepareCall("{call procedure_name(?, ?)}");  
cs.setString(1, aString); 
cs.setInt(2, aNumber);
cs.executeUpdate();

请注意,传递值类似于 PreparedStatement

关于javascript - JDBC - MySQL 调用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35015736/

相关文章:

mysql - 如何实现更高效的搜索功能?

sql-server - 通过Delphi传递SQL Server存储过程参数名称

sql-server - 如何从存储过程返回bool

sql-server - 如何实现 MS SQL 2014 存储过程

mysql - Sql 获取字段的字符位置

PHP IF ELSE - 如果似乎被忽略了?

php - PHP 生成的 Javascript 代码是不好的做法吗?

javascript - d3.js 改变可平移图上刻度标签的位置

javascript - 如何在ckeditor中显示数学公式的正确格式

javascript - 使用 Clipboard.js 复制跨度文本