C#中SQL语句预编译的问题、prepareStatement 我看到在有很多人在说java中的SQL语句预编译;prepareStatement,我想问下在C#中是不是也有这样的用法,或者类似的东西。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一样的,sql语句保持不变(包括大小写,空格等等,需要完全一样),可以有缓存 ODBC 的select和update:String szQuery = "select count(*) from " + component + " where terminalid = ? and transactionid = ?";OdbcCommand cmd = new OdbcCommand(szQuery.ToString(), conn);cmd.Parameters.Add(new OdbcParameter("terminalid", OdbcType.Int)).Value = transaction.TerminalId;cmd.Parameters.Add(new OdbcParameter("transactionid", OdbcType.Int)).Value = transaction.Id;cmd.Prepare();Int64 count = 0;try{ count = (Int64)cmd.ExecuteScalar();}String query = "update " + component + " set transactiontype = ?, transactionstate = ?, transactionsubstate = ?, updatetime = ?, transactiondata = ? where terminalid = ? and transactionid = ?";OdbcCommand oCommand = new OdbcCommand(query, conn);OdbcTransaction tx = conn.BeginTransaction();oCommand.Transaction = tx;oCommand.Parameters.Add(new OdbcParameter("transactiontype", OdbcType.VarChar)).Value = transaction.TransactionType.ToString();oCommand.Parameters.Add(new OdbcParameter("transactiontype", OdbcType.VarChar)).Value = transactionType;oCommand.Parameters.Add(new OdbcParameter("transactionstate", OdbcType.VarChar)).Value = transaction.State;oCommand.Parameters.Add(new OdbcParameter("transactionsubstate", OdbcType.VarChar)).Value = transaction.SubState;oCommand.Parameters.Add(new OdbcParameter("updatetime", OdbcType.DateTime)).Value = DateTime.Now;oCommand.Parameters.Add(new OdbcParameter("transactiondata", OdbcType.Text)).Value = transaction.Data;oCommand.Parameters.Add(new OdbcParameter("terminalid", OdbcType.Int)).Value = transaction.TerminalId;oCommand.Parameters.Add(new OdbcParameter("transactionid", OdbcType.Int)).Value = transaction.Id; oCommand.Prepare();oCommand.ExecuteNonQuery();tx.Commit(); 日期控件的问题 用正则表达式匹配string,并返回其位置? 连接问题!!! 关于activex的问题 datalist 问题 银行排队叫号系统 请教access中数据转换为DataTable 有关VSS连接服务器的问题,大家快来看啊!! 新手关于Dataview,可以从多个表中创建? 跪求SQL高手 C# 用API操作菜单. HTTP UserAgent的值, 目前有那些是常用的?
String szQuery = "select count(*) from " + component + " where terminalid = ? and transactionid = ?";
OdbcCommand cmd = new OdbcCommand(szQuery.ToString(), conn);
cmd.Parameters.Add(new OdbcParameter("terminalid", OdbcType.Int)).Value = transaction.TerminalId;
cmd.Parameters.Add(new OdbcParameter("transactionid", OdbcType.Int)).Value = transaction.Id;
cmd.Prepare();Int64 count = 0;
try
{
count = (Int64)cmd.ExecuteScalar();
}
String query = "update " + component + " set transactiontype = ?, transactionstate = ?, transactionsubstate = ?, updatetime = ?, transactiondata = ? where terminalid = ? and transactionid = ?";
OdbcCommand oCommand = new OdbcCommand(query, conn);
OdbcTransaction tx = conn.BeginTransaction();
oCommand.Transaction = tx;
oCommand.Parameters.Add(new OdbcParameter("transactiontype", OdbcType.VarChar)).Value = transaction.TransactionType.ToString();
oCommand.Parameters.Add(new OdbcParameter("transactiontype", OdbcType.VarChar)).Value = transactionType;
oCommand.Parameters.Add(new OdbcParameter("transactionstate", OdbcType.VarChar)).Value = transaction.State;
oCommand.Parameters.Add(new OdbcParameter("transactionsubstate", OdbcType.VarChar)).Value = transaction.SubState;
oCommand.Parameters.Add(new OdbcParameter("updatetime", OdbcType.DateTime)).Value = DateTime.Now;
oCommand.Parameters.Add(new OdbcParameter("transactiondata", OdbcType.Text)).Value = transaction.Data;
oCommand.Parameters.Add(new OdbcParameter("terminalid", OdbcType.Int)).Value = transaction.TerminalId;
oCommand.Parameters.Add(new OdbcParameter("transactionid", OdbcType.Int)).Value = transaction.Id;
oCommand.Prepare();
oCommand.ExecuteNonQuery();
tx.Commit();