我这么写错了:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
SqlDataAdapter sda = new SqlDataAdapter("select * from article where classId in(@classId)",con);
SqlParameter p1 = new SqlParameter("@classId", SqlDbType.Int);
p1.Value = "135,22";
sda.SelectCommand.Parameters.Add(p1);
DataTable dt = new DataTable();
sda.Fill(dt);
Response.Write(dt.Rows.Count);
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
SqlDataAdapter sda = new SqlDataAdapter("select * from article where classId in(@classId)",con);
SqlParameter p1 = new SqlParameter("@classId", SqlDbType.Int);
p1.Value = "135,22";
sda.SelectCommand.Parameters.Add(p1);
DataTable dt = new DataTable();
sda.Fill(dt);
Response.Write(dt.Rows.Count);
解决方案 »
- Datetime溢出?求解决
- windows2008 iis7中安装php
- sql :如何求每组最大的前2 项 ?
- 哪为大虾帮帮我阿?
- 在开一帖,就不信问不出个思路来~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这回一定要醒目一些,要不没人里
- TreeView在服务器上的配置问题
- 二进制图片在水晶报表中无法显示,转到pdf打印确可以显示?
- 网站改版、、提意见者便有分、、、、
- 如何进行编译问题,估计比较难,在线等待
- 初学者的问题。
- 像这种客户定制模板功能是怎么实现的?(http://www.vlongbiz.com/member/companystyle.php)
- 发第6次帖了,累了,再不行就放弃了,做一个使用次数的计数器就这么难吗?..
--->
SqlParameter p1 = new SqlParameter("@classId", SqlDbType.Nvarchar);
试试
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
p1.Value = "135,22";
这里还是数值行啊,怎么赋值啊,属性不对啊,
前面
SqlParameter p1 = new SqlParameter("@classId", SqlDbType.Int);
这里试试换上字符串
SqlParameter p1 = new SqlParameter("@classId", SqlDbType.String);
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
string Sql = "select * from article where classId in(@classId)"; Sql = Sql.Replace("(@classId","135,22");
SqlDataAdapter sda = new SqlDataAdapter(Sql,con);
DataTable dt = new DataTable();
sda.Fill(dt);
Response.Write(dt.Rows.Count);
你完全可以拼成一个SQL语句的咯.
讲得有道理。
SqlParameter p1 = new SqlParameter("@classId", SqlDbType.VarChar);
p1.Value = "‘135’,‘22’";
不是一个 int 值,你把一个字符串赋给一个int型,不出错就是没天理了。
……
SqlDataAdapter sda = new SqlDataAdapter("select * from article where classId in(@classId1,@classId2,@classId3……)",con); SqlParameter p1 = new SqlParameter("@classId1", SqlDbType.Int);
p1.Value = 135; //或int变量
sda.SelectCommand.Parameters.Add(p1); SqlParameter p2 = new SqlParameter("@classId2", SqlDbType.Int);
p2.Value = 22; //或int变量
sda.SelectCommand.Parameters.Add(p2); SqlParameter p3 = new SqlParameter("@classId3", SqlDbType.Int);
p3.Value = 33; //或int变量
sda.SelectCommand.Parameters.Add(p3); ……PS:直接连接字符串不更简单吗?遇到这种情况非要用Parameter,岂不是将简单问题变复杂了?呵呵
sql + = your nid string + ")' exec @sql"