不要用存储过程,要用参数传递的方式,如果解决这个sql问题?
这里有个问题啊:
“SELECT * FROM A WHERE ID=@ID”
这样的语句可以通过参数来把ID传进去,如下:
parameter = new SqlParameter("@ID", SqlDbType.UniqueIdentifier);
parameter.Value = Id;那么现在我的表名是可变的,并不是固定的,如下sql
“SELECT * FROM @TableName WHERE ID='121356-465454-5646456546-5454'”
这个时候我用这样的参数传递,没有用,出错!
parameter = new SqlParameter("@TableName ", SqlDbType.NVarChar);
parameter.Value = "A";那么此时我要怎么解决这个问题??当然类似的还有这样的sql:“SELECT Top @Num * FROM AWHERE ”要怎么解决这个问题??
这里有个问题啊:
“SELECT * FROM A WHERE ID=@ID”
这样的语句可以通过参数来把ID传进去,如下:
parameter = new SqlParameter("@ID", SqlDbType.UniqueIdentifier);
parameter.Value = Id;那么现在我的表名是可变的,并不是固定的,如下sql
“SELECT * FROM @TableName WHERE ID='121356-465454-5646456546-5454'”
这个时候我用这样的参数传递,没有用,出错!
parameter = new SqlParameter("@TableName ", SqlDbType.NVarChar);
parameter.Value = "A";那么此时我要怎么解决这个问题??当然类似的还有这样的sql:“SELECT Top @Num * FROM AWHERE ”要怎么解决这个问题??
解决方案 »
- win7下 discuz!nt 3.0安装失败
- 实现这个,有多少种解决方案?页面数据实时刷新
- 未能加载文件或程序集"System.Web.Extensions
- vs2008 在webForm頁面中如何获取confirm的确认或取消
- 怎么局域网计算机访问我的网站还是要输入用户名密码??急!!!!!!
- membership中一个用户关联多个角色问题
- datagrid的“删除”“选择”重新绑定问题
- 询问关于在线播放影片问题
- 请问怎么测试页面的加载时间PLT(Page Load Time)?
- 在WINDOWS验证方式下,怎么取得当前用户的登陆名啊??
- 求救...这地方怎么写@_@???
- 使用dataset绑定formview进不了EditItemTemplate
SqlParameter 只能是条件参数你可以这样解决
string _tableName=....;
SqlCommand.commandText=string.Format("select * from {0}",_tableName);
string num = 10;
string strSQL = "SELECT Top " + num.ToString() + " * FROM " + tableName.Replace("'", "''") + " WHERE ID=@ID";
先自己替换,在给参数替换"select top @@Num * from a"
自己先 querySql=querySql.replaec("@@Num","10")