VS2005 C# 讨论:
可不可以在程序代码里用SQL语句给程序变量赋值?如下:
int i = 0;
SqlCommand mycmd = new SqlCommand("select "+ i +" =max(id) from order",mycon);
可不可以直接这样??
如果这样不行,大家有什么更好的办法吗???
|
这样不行,你可以通过下面的方式完成:
方案1:
int i = 0;
SqlCommand mycmd = new SqlCommand("SELECT max(id) FROM order", mycon);
i = (int) mycmd.ExecuteScalar();
方案2:
int i = 0;
SqlCommand mycmd = new SqlCommand("SELECT @i = max(id) FROM order", mycon);
mycmd.ExecuteNonQuery();
i = (int)mycmd.Parameters["i"].Value;
方案二未经过验证,自己再试试吧 当然不行,你最后组合成的SQL 语句可以在数据库执行吗?? 建议使用Colin Han的方案一的方法 当然不行。起码在vs2005里。数据可以使用输出参数来。 Colin Han 的方案1正解 |
|
4个月前 hrx521 : 感谢楼上仁兄提供解答,我原来一直用的是你讲的第一种方法,第二种方法没有试过,一会儿去试试,不过好像@i 并没有声名过,好像是不行啊,,,,呵呵,,不说了先吃饭去了,一会儿回来试完再说 |