主要内容

databasePreparedStatement

创建SQL准备语句

自从R2019b

描述

例子

pstmt= databasePreparedStatement (康涅狄格州,查询)创建一个SQLPreparedStatement使用数据库连接对象和SQL查询。

例子

全部折叠

准备创建一个SQL语句导入数据从Microsoft®SQL Server®数据库使用JDBC数据库连接。使用选择SQL语句的SQL查询。从数据库导入数据并显示结果。

创建一个JDBC数据库连接到SQL Server数据库与Windows®身份验证。指定一个空白的用户名和密码。

数据源=“MSSQLServerJDBCAuth”;康涅狄格州=数据库(数据源,,);

创建一个SQL语句准备导入数据从SQL Server数据库使用JDBC数据库连接。的问号选择SQL语句显示这是一个SQL。这个语句从数据库中选择所有数据表inventoryTable有库存的库存日期指定日期范围内。

查询= strcat (“从inventoryTable SELECT *”,“inventoryDate >在哪里?和inventoryDate < ?”);pstmt = databasePreparedStatement(康涅狄格州、查询)
pstmt = SQLPreparedStatement属性:SQLQuery:“SELECT * FROM inventoryTable inventoryDate >在哪里?和inventoryDate < ?”ParameterCount: 2 ParameterTypes:["字符串" "字符串"]ParameterValues: {[] []}

pstmt是一个SQLPreparedStatement对象与这些属性:

  • SQLQuery——查询SQL准备语句

  • ParameterCount——参数计算

  • ParameterTypes——参数类型

  • ParameterValues——参数值

绑定SQL准备语句的参数值。选择这两个参数在SQL事先准备好的声明中使用他们的数字指标。指定绑定的值作为库存日期范围在1月1日,2014年和2014年12月31日。在数据库中匹配日期的格式。的bindParamValues功能更新中的值ParameterValues财产的pstmt对象。

选择= (1 - 2);值= {“2014-01-01 00:00:00.000”,“2014-12-31 00:00:00.000”};pstmt = bindParamValues (pstmt、选择值)
pstmt = SQLPreparedStatement属性:SQLQuery:“SELECT * FROM inventoryTable inventoryDate >在哪里?和inventoryDate < ?”ParameterCount: 2 ParameterTypes:["字符串" "字符串"]ParameterValues: {(“2014-01-01 00:00:00.000”) (“2014-12-31 00:00:00.000”)}

导入数据从数据库中使用获取功能和参数值。结果包含四行数据,代表所有库存与库存之间的日期1月1日,2014年和2014年12月31日。

结果=获取(康涅狄格州,pstmt)
结果=4×4表productNumber数量价格inventoryDate _________________ ________ _____ _______________________ 1 1700 14.5 {' 2014-09-23 09:38:34} 2 1200 9 {' 2014-07-08 22:50:45} 3 356 17 {' 2014-05-14 07:14:28} 7 6034 16 {' 2014-08-06 08:38:00 '}

准备关闭SQL语句和数据库连接。

关闭(pstmt)关闭(康涅狄格州)

准备创建一个SQL语句将数据从MATLAB®插入一个Microsoft®SQL Server®数据库使用JDBC数据库连接。使用插入SQL语句的SQL查询。执行SQL预备语句和显示结果。

创建一个JDBC数据库连接到SQL Server数据库与Windows®身份验证。指定一个空白的用户名和密码。

数据源=“MSSQLServerJDBCAuth”;康涅狄格州=数据库(数据源,,);

导入数据从数据库中使用sqlread函数。显示数据库中的数据表的最后几行inventoryTable

表名=“inventoryTable”;data = sqlread(康涅狄格州,表名);尾(数据,3)
ans =3×4表productNumber数量价格inventoryDate _________________ ________ _____ _______________________ 11 567 {2012-09-11 00:30:24”} 1278 0 {' 2010-10-29 18:17:47} 13 1700 14.5 {' 2009-05-24 10:58:59 '}

创建一个SQL语句准备插入数据使用JDBC数据库连接。的问号插入SQL语句显示这是一个SQL。这个语句将MATLAB的数据插入到数据库表中inventoryTable

查询=“插入inventoryTable值(?,?,?,?)”;pstmt = databasePreparedStatement(康涅狄格州、查询)
pstmt = SQLPreparedStatement属性:SQLQuery:“插入inventoryTable值(?,?,?,?)ParameterCount: 4 ParameterTypes: ["numeric" "numeric" "numeric" "string"] ParameterValues: {[] [] [] []}

pstmt是一个SQLPreparedStatement对象与这些属性:

  • SQLQuery——查询SQL准备语句

  • ParameterCount——参数计算

  • ParameterTypes——参数类型

  • ParameterValues——参数值

绑定SQL准备语句的参数值。选择所有参数在SQL事先准备好的声明中使用他们的数字指标。指定的值绑定产品编号,数量,价格,库存日期。在数据库中匹配日期的格式。的bindParamValues功能更新中的值ParameterValues财产的pstmt对象。

选择= (1 2 3 4);值={1000,55岁,“2019-04-25 00:00:00.000”};pstmt = bindParamValues (pstmt、选择值)
pstmt = SQLPreparedStatement属性:SQLQuery:“插入inventoryTable值(?,?,?,?)ParameterCount: 4 ParameterTypes: ["numeric" "numeric" "numeric" "string"] ParameterValues: {[20] [1000] [55] ["2019-04-25 00:00:00.000"]}

从MATLAB插入数据到数据库使用绑定参数值。执行SQL插入声明使用执行函数。

execute(康涅狄格州,pstmt)

显示数据库表中插入数据inventoryTable。表中最后一行包含插入的数据。

表名=“inventoryTable”;data = sqlread(康涅狄格州,表名);尾(数据,4)
ans =4×4表productNumber数量价格inventoryDate _________________ ________ _____ ___________________________ 11 567 {2012-09-11 00:30:24”} 1278 0 {' 2010-10-29 18:17:47} 13 1700 14.5 {' 2009-05-24 10:58:59} 1000 55 {' 2019-04-25 00:00:00.000 '}

准备关闭SQL语句和数据库连接。

关闭(pstmt)关闭(康涅狄格州)

准备创建一个SQL语句更新数据在Microsoft®SQL Server®数据库使用JDBC数据库连接。使用更新SQL语句的SQL查询。执行SQL预备语句和显示结果。

创建一个JDBC数据库连接到SQL Server数据库与Windows®身份验证。指定一个空白的用户名和密码。

数据源=“MSSQLServerJDBCAuth”;康涅狄格州=数据库(数据源,,);

导入数据从数据库中使用sqlread函数。显示数据库中的数据表的前几行inventoryTable

表名=“inventoryTable”;data = sqlread(康涅狄格州,表名);头(数据,3)
ans =3×4表productNumber数量价格inventoryDate _________________ ________ _____ _______________________ 1 1700 14.5 {' 2014-09-23 09:38:34} 2 1200 9 {' 2014-07-08 22:50:45} 3 356 17 {' 2014-05-14 07:14:28 '}

创建一个SQL语句准备更新数据使用JDBC数据库连接。的问号更新SQL语句显示这是一个SQL。这个语句更新数据库表中的数据inventoryTable

查询= strcat (“更新inventoryTable设置数量= ?”,“productNumber = ?”);pstmt = databasePreparedStatement(康涅狄格州、查询)
pstmt = SQLPreparedStatement属性:SQLQuery:“更新inventoryTable设置数量= ?productNumber = ?”ParameterCount: 2 ParameterTypes:[“数值”“数字”]ParameterValues: {[] []}

pstmt是一个SQLPreparedStatement对象与这些属性:

  • SQLQuery——查询SQL准备语句

  • ParameterCount——参数计算

  • ParameterTypes——参数类型

  • ParameterValues——参数值

绑定SQL准备语句的参数值。选择所有参数在SQL事先准备好的声明中使用他们的数字指标。指定绑定的值的数量和产品编号。的bindParamValues功能更新中的值ParameterValues财产的pstmt对象。

选择= (1 - 2);值={1}2000年;pstmt = bindParamValues (pstmt、选择值)
pstmt = SQLPreparedStatement属性:SQLQuery:“更新inventoryTable设置数量= ?productNumber = ?”ParameterCount: 2 ParameterTypes:[“数值”“数字”]ParameterValues: {[2000] [1]}

更新数据库中的数据使用绑定参数值。执行SQL更新声明使用执行函数。

execute(康涅狄格州,pstmt)

显示更新数据库表中的数据inventoryTable。表中的第一行包含更新的数量。

表名=“inventoryTable”;data = sqlread(康涅狄格州,表名);头(数据,3)
ans =3×4表productNumber数量价格inventoryDate _________________ ________ _____ _______________________ 1 2000 14.5 {' 2014-09-23 09:38:34} 2 1200 9 {' 2014-07-08 22:50:45} 3 356 17 {' 2014-05-14 07:14:28 '}

准备关闭SQL语句和数据库连接。

关闭(pstmt)关闭(康涅狄格州)

准备创建一个SQL语句删除数据在Microsoft®SQL Server®数据库使用JDBC数据库连接。使用删除SQL语句的SQL查询。执行SQL预备语句和显示结果。

创建一个JDBC数据库连接到SQL Server数据库与Windows®身份验证。指定一个空白的用户名和密码。

数据源=“MSSQLServerJDBCAuth”;康涅狄格州=数据库(数据源,,);

导入数据从数据库中使用sqlread函数。显示数据库中的数据表的行productTable。数据包含产品数量的行16通过20.在这个例子中后面,您将删除。

表名=“productTable”;data = sqlread(康涅狄格州,表名)
data =15×5表________ ___________________ productNumber stockNumber supplierNumber unitCost productDescription _________________……* * * 9 1.2597 e + 05 1003 13{“维多利亚娃娃”}8 2.1257 e + 05年1001 5{‘火车’}7 3.8912 e + 05 1007 16{“引擎工具包”}2 4.0031 e + 05 1002 9{“绘画组”}4 4.0034 e + 05 1008 21{“空间巡洋舰”}1 4.0035 e + 05 1001 14{“积木”}5 4.0046 e + 05 1005 3{“锡士兵”}6 4.0088 e + 05 1004 8{“帆船”}3 4.01 e + 05 1009 17{“紧身”}10 8.8865 e + 05 1006 24{“泰迪熊”}16 5.6789 e + 05 1001 10{“磁力链接”}17 5.688 e + 05 1002 15{“热棒”}18 5.679 e + 05 1003 20{“娃娃家”}19 5.7761 e + 05 1004 25{“毛绒猴”}20 5.0034 e + 05 1005 30{厨房设置的}

创建一个SQL语句准备删除数据使用JDBC数据库连接。的问号删除SQL语句显示这是一个SQL。这句话删除数据库中的数据表productTable指定范围的产品数量。

查询= strcat (从productTable“删除”,“productNumber >在哪里?和productNumber < ?”);pstmt = databasePreparedStatement(康涅狄格州、查询)
pstmt = SQLPreparedStatement属性:SQLQuery:“删除从productTable productNumber > ?和productNumber < ?”ParameterCount: 2 ParameterTypes:[“数值”“数字”]ParameterValues: {[] []}

pstmt是一个SQLPreparedStatement对象与这些属性:

  • SQLQuery——查询SQL准备语句

  • ParameterCount——参数计算

  • ParameterTypes——参数类型

  • ParameterValues——参数值

绑定SQL准备语句的参数值。选择所有参数在SQL事先准备好的声明中使用他们的数字指标。指定产品的范围的值绑定号码15至21日(独家)。的bindParamValues功能更新中的值ParameterValues财产的pstmt对象。

选择= (1 - 2);值={15日21};pstmt = bindParamValues (pstmt、选择值)
pstmt = SQLPreparedStatement属性:SQLQuery:“删除从productTable productNumber > ?和productNumber < ?”ParameterCount: 2 ParameterTypes:[“数值”“数字”]ParameterValues: {[15] [21]}

删除数据库中的数据使用绑定参数值。执行SQL删除声明使用执行函数。

execute(康涅狄格州,pstmt)

显示数据库中的数据表productTable。行与产品数量16通过20.不再表中。

表名=“productTable”;data = sqlread(康涅狄格州,表名)
data =10×5表________ ___________________ productNumber stockNumber supplierNumber unitCost productDescription _________________……* * * 9 1.2597 e + 05 1003 13{“维多利亚娃娃”}8 2.1257 e + 05年1001 5{‘火车’}7 3.8912 e + 05 1007 16{“引擎工具包”}2 4.0031 e + 05 1002 9{“绘画组”}4 4.0034 e + 05 1008 21{“空间巡洋舰”}1 4.0035 e + 05 1001 14{“积木”}5 4.0046 e + 05 1005 3{“锡士兵”}6 4.0088 e + 05 1004 8{“帆船”}3 4.01 e + 05 1009 17{“紧身”}10 8.8865 e + 05 1006 24{“泰迪熊”}

准备关闭SQL语句和数据库连接。

关闭(pstmt)关闭(康涅狄格州)

准备创建一个SQL语句来调用一个存储过程在Microsoft®SQL Server®数据库使用JDBC数据库连接。使用调用SQL语句的SQL查询。执行SQL预备语句和显示结果。

对于这个示例,包含存储过程的SQL Server数据库getSupplierInfo,它返回的信息为供应商在一个指定的城市。这段代码定义了过程。

dbo创建过程。getSupplierInfo(@cityName varchar(20)) AS BEGIN -- SET NOCOUNT ON added to prevent extra result -- sets from interfering with SELECT statements. SET NOCOUNT ON SELECT * FROM dbo.suppliers WHERE City = @cityName END

SQL Server的声明设置NOCOUNT抑制的结果插入,更新,非选择语句前最后选择查询,这样你就可以导入的结果选择查询。

创建一个JDBC数据库连接到SQL Server数据库与Windows®身份验证。指定一个空白的用户名和密码。

数据源=“MSSQLServerJDBCAuth”;康涅狄格州=数据库(数据源,,);

创建一个SQL语句准备调用存储过程使用JDBC数据库连接。的问号调用SQL语句显示这是一个SQL。这个语句调用getSupplierInfo数据库中的存储过程。

查询=“{叫dbo.getSupplierInfo (?)}”;pstmt = databasePreparedStatement(康涅狄格州、查询)
pstmt = SQLPreparedStatement属性:SQLQuery:“{叫dbo.getSupplierInfo (?)}“ParameterCount: 1 ParameterTypes:“字符串”ParameterValues: {[]}

pstmt是一个SQLPreparedStatement对象与这些属性:

  • SQLQuery——查询SQL准备语句

  • ParameterCount——参数计算

  • ParameterTypes——参数类型

  • ParameterValues——参数值

绑定SQL准备语句的参数值。在SQL中选择参数预置语句使用其数值索引。指定绑定的值作为城市纽约。的bindParamValues功能更新中的值ParameterValues财产的pstmt对象。

选择= [1];值=“纽约”;pstmt = bindParamValues (pstmt、选择值)
pstmt = SQLPreparedStatement属性:SQLQuery:“{叫dbo.getSupplierInfo (?)}“ParameterCount: 1 ParameterTypes:“字符串”ParameterValues:{(“纽约”)}

显示结果的存储过程。执行SQL调用声明使用获取函数。准备的SQL语句返回的所有信息为供应商位于纽约市。

结果=获取(康涅狄格州,pstmt)
结果=2×5表____________________ SupplierNumber SupplierName城市国家FaxNumber * * * _______ _________________ ___________ 1001{怀疑产品的}{“纽约”}{‘美国’}{“212 435 1617”}1006下载188bet金宝搏 {“ACME玩具公司”}{“纽约”}{‘美国’}{“212 435 1618”}

准备关闭SQL语句和数据库连接。

关闭(pstmt)关闭(康涅狄格州)

输入参数

全部折叠

数据库连接,指定为一个连接对象创建数据库函数。

请注意

databasePreparedStatement仅支持一个JDBC金宝app数据库连接函数。

SQL准备语句查询,指定为一个特征向量或字符串标量,它包含这些SQL语句之一:

  • 选择

  • 插入

  • 更新

  • 删除

  • 调用

例子:“SELECT * FROM inventoryTable inventoryDate > ?和inventoryDate < ?”选择所有数据从数据库表中inventoryTable库存日期之间的两个参数。

例子:“插入inventoryTable值(?,?,?,?)”将数据插入到数据库表中inventoryTable基于参数四个数据库列。

数据类型:字符|字符串

输出参数

全部折叠

SQL事先准备好的声明中,作为一个返回SQLPreparedStatement对象。

版本历史

介绍了R2019b