string user_name;
user_name = "shanying";
com.CommandText = "insert into " + user_name + "_single_selected select top " + TextBox_count_multi.Text + " * from single_select where id not in (select id from " + user_name + "_single_selected) order by NEWID()";
问题肯定是出在user_name 身上,但我无法理解这个问题。因为如果把所有的user_name替换成"shanying",则执行结果正确。现在这样子出错无法执行。
user_name = "shanying";
com.CommandText = "insert into " + user_name + "_single_selected select top " + TextBox_count_multi.Text + " * from single_select where id not in (select id from " + user_name + "_single_selected) order by NEWID()";
问题肯定是出在user_name 身上,但我无法理解这个问题。因为如果把所有的user_name替换成"shanying",则执行结果正确。现在这样子出错无法执行。
解决方案 »
- DataTable2Json经过Serialize后,\"仍然解析成\",不解析成",HTML中无法parseJSON(data)
- 管理员如何修改其他用户的HKEY_CURRENT_USER注册表
- 有关动网论坛.net 版 二次开发遇到的若干问题
- 把数据保存在js全局变量中可行吗
- 为什么每次发布网站时都提示:某文件已在源编辑器之外被修改?
- net里怎么创建控件
- DropDownList绑定以后,怎么每次选择的项都是第一个,大家帮忙看看!
- 我用Server.Transfer()来做页面间传值,为什么在目标页创建不了,原窗体的实例呢?
- datatable,datarow问题!
- 在datagrid中显示数值的问题,帮忙啊各位
- 怎么实现类似于微博的@的功能?
- 求指导,关于页面回发时改变server.urlencode("中文的内容"),怎么办?
user_name = "shanying";
string strSQL = "insert into " + user_name + "_single_selected select top " + TextBox_count_multi.Text + " * from single_select where id not in (select id from " + user_name + "_single_selected) order by NEWID()";
Response.Write(strSQL); //检查一下表名是不是你期望的那个??
com.CommandText = strSQL;
变量的值没进去?不应该啊你先赋给一个string类型变量。。输出一下看上去这个拼接好像是没错
表名是不能作为参数传递的,如果非要拼装SQL 语句的话,那就比较危险了,使用表名前可以过滤一下危险字符,或者是使用存储过程。下面提供一种拼凑字符串方法试试看。using System.Text;
...
string user_name = "shanying";
StringBuilder strSql = new StringBuilder();
strSql.Append(" insert into @table");
strSql.Append(" select top @top ");
strSql.Append(" * from single_select where id not in (select id from @table");
strSql.Append(") order by NEWID()");
SqlParameter[] parameters = {
new SqlParameter("@table", SqlDbType.VarChar,50),
new SqlParameter("@top", SqlDbType.Int,4)
};
parameters[0].Value = user_name+"_single_selected";
parameters[1].Value = int.Parse(TextBox_count_multi.Text);SQLHelper.ExecuteNonQuery(strSql.ToString());