日期:2014-05-17  浏览次数:20368 次

.net C# 里面一个按钮下面的数据库语句不会写
protected void LinkButton1_Click(object sender, EventArgs e)
  {
   
  string copyUserStr = "INSERT INTO Tb_AccountExamA (eva_id,user_id,assessed_id,assessed_name,user_name)";
   
  copyUserStr += " SELECT " + DateTime.Now.Year + ",emp_name_id,people_score_id, emp_name,Expr1 FROM Vb_AccountExamX";
  copyUserStr += " where emp_name_id =" + SysSession.UserID;
}

就是从Vb_AccountExamX中取出 评分人字段emp_name_id,被评分人字段people_score_id,被评分人emp_name,评分人Expr1 ,

但是要求只能取 评分人ID=当前用户ID:SysSession.UserID。插入进Tb_AccountExamA 相应的字段。

我上面的语句没法实现。我也知道不对,后面的where不对,但是我真真不会写了
   


------解决方案--------------------
string copyUserStr = "INSERT INTO Tb_AccountExamA (eva_id,user_id,assessed_id,assessed_name,user_name)";

copyUserStr += " SELECT " + DateTime.Now.Year + ",emp_name_id,people_score_id, emp_name,Expr1 FROM Vb_AccountExamX";
copyUserStr += " where emp_name_id =" + SysSession.UserID;
}
打段点把生成的SQL拿去数据库去试。
------解决方案--------------------
打个断点,把组合以后的copyUserStr语句放到数据库里直接运行调试,或者把拼装完成后的copyUserStr贴出来看看是啥
------解决方案--------------------
插入数据库语句一般是这样的啊,sql="insert into mytable(my1,my2,my3,my4) values(?,?,?,?)"
你的代码貌似少了values啊
换成这样看看能不能行:
 string copyUserStr = "INSERT INTO Tb_AccountExamA (eva_id,user_id,assessed_id,assessed_name,user_name)";

copyUserStr += " VALUES( SELECT " + DateTime.Now.Year + ",emp_name_id,people_score_id, emp_name,Expr1 FROM Vb_AccountExamX";
copyUserStr += " where emp_name_id =" + SysSession.UserID + ")";