在java中向SQL语句传参数的示例代码如下:
PreparedStatement pstmt = con.prepareStatement( "insert into table ( id, name ) values ( ?, ? )" ); //两个问号表示这个SQL语句有两个参数
pstmt.setInt( 1, 2 ); //设第一个参数(即id)的值为整数2
pstmt.setString( 2, "tom" ); //设第二个参数(即name)的值为字符串tom
pstmt.execute();请问在ADO.NET如何实现这样的功能?请写个简单的示例
PreparedStatement pstmt = con.prepareStatement( "insert into table ( id, name ) values ( ?, ? )" ); //两个问号表示这个SQL语句有两个参数
pstmt.setInt( 1, 2 ); //设第一个参数(即id)的值为整数2
pstmt.setString( 2, "tom" ); //设第二个参数(即name)的值为字符串tom
pstmt.execute();请问在ADO.NET如何实现这样的功能?请写个简单的示例
DataSet dataSet, string connectionString, string queryString)
{
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
OdbcDataAdapter adapter =
new OdbcDataAdapter(queryString, connection); // Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OdbcType.Int).Value = 239; // Open the connection and fill the DataSet.
try
{
connection.Open();
adapter.Fill(dataSet);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// The connection is automatically closed when the
// code exits the using block.
}
return dataSet;
}
oldmoon: 能不能不要写参数名啊,难道不能按照顺序来设置参数吗?MS设计得也太差了吧
SQL或者Oracle用@请参照SqlParameter
请看下面的代码:
static void Main(string[] args)
{
String s = "Provider=msdaora;Data Source=demo;User Id=system;Password=manager;";
OleDbConnection con = null;
OleDbCommand command = null;
try
{
con = new OleDbConnection(s);
con.Open();
String s1 = "insert into family ( id, xh, cyname, csrq ) values( 5, 2, ?, ? )";
command = new OleDbCommand(s1, con);
OleDbParameter param1 = new OleDbParameter();
param1.Value = "haha";
command.Parameters.Add(param1);
OleDbParameter param2 = new OleDbParameter();
param2.OleDbType = OleDbType.DBDate;
param2.Value = new DateTime(1980, 7, 27);
command.Parameters.Add(param2);
command.ExecuteNonQuery();
}
catch (Exception e)
{
Console.WriteLine(e);
}
finally
{
if (command != null) command.Dispose();
if (con != null) con.Close();
}
Console.Read();
}