一条SQL语句,老是插入不成功,请教!!

yanghuijun 2007-07-09 05:11:22
以前用oledbparmater代入参数,现在参数较少。想直接写,没想到不行了。
代码如下:
public void MemberAdd(string userName,string userPassword,string nickName,bool isLock)
{
string SqlText = "insert into Member(username,password) values('" + userName + "','" + userPassword + "','" + nickName + "','" + isLock + "')";
HttpContext.Current.Response.Write(SqlText);
//DB.ExecuteNonQuery(SqlText);

}
提示:Inster into 语句错误,
Response.Write输出的语句为:insert into Member(username,password) values('张三','123456','管理员','False')

搞了一个小时,真头大了!!
...全文
239 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxjgxjgxj 2007-07-09
  • 打赏
  • 举报
回复
跟数据库的字段对一下 看有没有错的
amandag 2007-07-09
  • 打赏
  • 举报
回复
你用的应该是Access数据库,password是关键字

string SqlText = "insert into Member(username,[password],nickName,isLock) values('" + userName + "','" + userPassword + "','" + nickName + "','" + isLock + "')";
mainbaby 2007-07-09
  • 打赏
  • 举报
回复
楼上的还是没注意,第二楼楼主已经改了。
lonehare 2007-07-09
  • 打赏
  • 举报
回复
刚才没注意
insert into Member(username,password) values('张三','123456','管理员','False')

insert into 2个字段,而 values 里面写了4个值,这是什么语句
symbol441 2007-07-09
  • 打赏
  • 举报
回复
你用的是什么数据库,如果是MYSQL,可以先在查询分析器里面先试运行一下,看看能不能插入,那样来判断是不是你代码的原因~
lonehare 2007-07-09
  • 打赏
  • 举报
回复
你的 isLock 是不是 bit 型的,要是是的话问题就在这了,改成 nickName + "'," + (isLock?"1":"0") + ")"
yanghuijun 2007-07-09
  • 打赏
  • 举报
回复
谢谢!!
yanghuijun 2007-07-09
  • 打赏
  • 举报
回复
按whosyourdaddy的方法,问题解决,可能是password是access数据库中的关键字,导致出错。

晕死!!小小字段会弄死人啊!!
mainbaby 2007-07-09
  • 打赏
  • 举报
回复
既然你islock是bool型,你插入字符串的‘False’当然不对
lovefootball 2007-07-09
  • 打赏
  • 举报
回复
password加个[password]
然后把最后一个参数的''拿掉
mainbaby 2007-07-09
  • 打赏
  • 举报
回复
我很奇怪为什么不把isLock设置成Y或N,或者1和0呢
silkstockings 2007-07-09
  • 打赏
  • 举报
回复
看看你的字段类型对么?
什么错误啊?
yanghuijun 2007-07-09
  • 打赏
  • 举报
回复
表中的前三个为字符串型。最后一个为bool型。。
to:sunkangta(●●●●●) 加空格还是一样报错
mainbaby 2007-07-09
  • 打赏
  • 举报
回复
不知道password要不要加个[password]
yanghuijun 2007-07-09
  • 打赏
  • 举报
回复
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

INSERT INTO 语句的语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

源错误:


行 58: Connection.Open();
行 59: OleDbCommand Command = this.BuildInitCommand(commandText);
行 60: intValue=Command.ExecuteNonQuery();
行 61: Connection.Close();
行 62: return intValue;

sunkangta 2007-07-09
  • 打赏
  • 举报
回复
Member后加个空格,还有插入的类型是否匹配
commandos 2007-07-09
  • 打赏
  • 举报
回复
把报的错误也贴出来吧..
yanghuijun 2007-07-09
  • 打赏
  • 举报
回复
不好意思。写掉了一点东西:
string SqlText = "insert into Member(username,password,nickName,isLock) values('" + userName + "','" + userPassword + "','" + nickName + "','" + isLock + "')";


上面完整的输出代码是:insert into Member(username,password,nickName,isLock) values('张三','123456','管理员','False')

请教···

62,074

社区成员

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

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

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

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