如此 cmd.CommandText="update [class] set [sn]="+'"+textBox1.Text +"'","
问题重点不在于cmd.CommandText="update [class] set [sn]='"+textBox1.Text +"',"+"[class].[class]='"+textBox2.Text+"' where [class].[sn]='"+t1+"' and [class].[class]='"+t2+"'";而是在于 cmd.CommandText+=" IF EXISTS (SELECT * from [info] WHERE [info].[class]='"+t2+"'"; cmd.CommandText+=" update [info] set [info].class='"+textBox2.Text+"' " +"where [info].[class]='"+t2+"'"; 这部分 前半句调试过无问题,问题是出在if exists以后 不信你们可以用access数据库调试下. 关键奇怪是的ole不能执行tsql语句???? 实在迷惑
调式时把sql语句打印出来 看看语句对不对? 放查询分析器在试试 .
cmd.CommandText="update [class] set [sn]="+'"+textBox1.Text +"'","
cmd.CommandText+=" IF EXISTS (SELECT * from [info] WHERE [info].[class]='"+t2+"'";
cmd.CommandText+=" update [info] set [info].class='"+textBox2.Text+"' " +"where [info].[class]='"+t2+"'";
这部分
前半句调试过无问题,问题是出在if exists以后
不信你们可以用access数据库调试下.
关键奇怪是的ole不能执行tsql语句????
实在迷惑
第二句是在sql数据库中测试
是什么意思?一个Command对像不能对多外数据库连接吧!
sqlCommand1.Connection=this.sqlConnection1;
sqlConnection1.Open();
sqlCommand1.CommandText="if exists(select * from emp where sysuser='ja')";
sqlCommand1.CommandText+=" update emp set syspasswd='1' where sysuser='ja'";
sqlCommand1.ExecuteNonQuery();
sqlConnection1.Close();
你把'"+ t1 +"'改成'" & t1 &"'看看.我以前碰到過這樣的問題.
操作对象不同
不然 orcale(小三) 可把上面的语句用在access上试试