Access insert into 语句问题

zmm12 2007-11-08 02:28:42
protected void btnReferring_Click(object sender, EventArgs e)
{
string str = Session["Users"].ToString();
OleDbConnection cn = new OleDbConnection(ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]));

string sql = "insert into [Users]([Question],[Answer]) values ('"+ txtMatter.Text.Trim() +"','"+ txtResult.Text.Trim() +"') where UsersID='"+ str +"'";
string sql = "update [Users] set [Question]=@Question,[Answer]=@Answer where [UsersID]=@UsersID";
OleDbCommand cmd = new OleDbCommand(sql, cn);

cn.Open();

cmd.Parameters.Add("UsersID", OleDbType.VarChar).Value = str;
cmd.Parameters.Add("@Question", OleDbType.VarChar).Value = this.txtMatter.Text.Trim();
cmd.Parameters.Add("@Answer", OleDbType.VarChar).Value = this.txtResult.Text.Trim();
cmd.ExecuteNonQuery();
try
{
cmd.ExecuteNonQuery();
Response.Write("<script language=javascript>window.alert('设置成功!');</script>");
}
catch (OleDbException)
{
Response.Write("<script language=javascript>window.alert('设置失败!');</script>");
}
cn.Close();
}

SQL 语句的结束位置缺少分号 (;)。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: SQL 语句的结束位置缺少分号 (;)。

源错误:


行 40: cmd.Parameters.Add("@Question", OleDbType.VarChar).Value = this.txtMatter.Text.Trim();
行 41: cmd.Parameters.Add("@Answer", OleDbType.VarChar).Value = this.txtResult.Text.Trim();
行 42: cmd.ExecuteNonQuery();
行 43: //try
行 44: //{

请问这是什么问题啊?我实在是搞不懂,我习惯怎么去做,请指点
...全文
230 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangshun 2007-11-08
  • 打赏
  • 举报
回复
打断点一句一句的看
zmm12 2007-11-08
  • 打赏
  • 举报
回复
insert into 的,后面是注释的,还有,多了句 cmd.ExecuteNonQuery();
qawszx 2007-11-08
  • 打赏
  • 举报
回复
回3楼,好像是不可以的,呵呵,你好细心哦。
如果想用参数,就用存储过程吧,不要直接用sql语句
yegengxing 2007-11-08
  • 打赏
  • 举报
回复
cmd.ExecuteNonQuery();
try
{
cmd.ExecuteNonQuery();
netnpc 2007-11-08
  • 打赏
  • 举报
回复
string sql = "insert into [Users]([Question],[Answer]) values ( ' "+ txtMatter.Text.Trim() + " ', ' "+ txtResult.Text.Trim() + " ') where UsersID= ' "+ str + " ' ";
string sql = "update [Users] set [Question]=@Question,[Answer]=@Answer where [UsersID]=@UsersID ";
你可以声明2个相同的变量吗?
shawn_yang 2007-11-08
  • 打赏
  • 举报
回复
string sql = "insert into [Users]([Question],[Answer]) values ( ' "+ txtMatter.Text.Trim() + " ', ' "+ txtResult.Text.Trim() + " ') where UsersID= ' "+ str + " ' ";


string sql = "update [Users] set [Question]=@Question,[Answer]=@Answer where [UsersID]=@UsersID ";
OleDbCommand cmd = new OleDbCommand(sql, cn);


到底是用哪个?
qawszx 2007-11-08
  • 打赏
  • 举报
回复
string sql = "update [Users] set [Question]= '"+this.txtMatter.Text.Trim()+"',[Answer]='"+this.txtResult.Text.Trim()+"' where [UsersID]='" +str+"'";

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧