当前位置:编程学习 > C#/ASP.NET >>

insert 语法错误

OleDbCommand Cm2 = new OleDbCommand("INSERT INTO people (pid,pname,pwd,sex,Tel,Email,add) VALUES ('"+ pid.Text +"','" + name.Text + "','" + pwd1.Text + "', '"RadioButton.Equals"','" + tel.Text + "','" + email.Text + "','" + add.Text + "')", con);

高手帮我看看,这句话错在哪里了,谢谢了! --------------------编程问答-------------------- 可能是('"+ pid.Text +"','" + name.Text + "','" + pwd1.Text + "', '"RadioButton.Equals"','" + tel.Text + "','" + email.Text + "','" + add.Text + "') 的错误,最好不要用这种方式用下面的:
string sqlTxt= pid.Text +","+name.Text +","+pwd1.Text +","+RadioButton.Equals+","+tel.Text+","+email.Text +","add.Text ;

OleDbCommand Cm2 = new OleDbCommand("INSERT INTO people (pid,pname,pwd,sex,Tel,Email,add) VALUES ("+sqlTxt+")", con);

--------------------编程问答-------------------- 把sql语句最好打印出来~这样看的方便~~ --------------------编程问答-------------------- ...看着郁闷,如果在前台用
SqlParameter pp=new SqlParameter("@a",SqlDbType.nvarchar)
pp.value=pid.text
cmd.Parameters.Add(pp);
这种形式吧 --------------------编程问答-------------------- 可以防恶意代码
--------------------编程问答-------------------- OleDbCommand Cm2 = new OleDbCommand("INSERT INTO people (pid,pname,pwd,sex,Tel,Email,add) VALUES ('"+ pid.Text +"','" + name.Text + "','" + pwd1.Text + "', '"RadioButton.Equals"','" + tel.Text + "','" + email.Text + "','" + add.Text + "')", con);

你这个 RadioButton.Equals 是个变量?还是个字符串。。 是变量的话 少2个+ 是字符串的话 多2个 "

--------------------编程问答-------------------- OleDbCommand Cm2 = new OleDbCommand("INSERT INTO people (pid,pname,pwd,sex,Tel,Email,add) VALUES ('"+ pid.Text +"','" + name.Text + "','" + pwd1.Text + "', '"RadioButton.Equals"','" + tel.Text + "','" + email.Text + "','" + add.Text + "')", con);

把+号全改&号试试,我现在做的那网站里面,用+号就出错,用就对了。 --------------------编程问答-------------------- '"RadioButton.Equals"','" 

应该是这里吧,建立楼主先给于一个变量,再输出来看看,或跟踪调试下就知道 --------------------编程问答-------------------- '"RadioButton.Equals"'应该是这里错误 --------------------编程问答-------------------- 对,是那个RadioButton.Equals错了,该怎么改呢?  那是两个单独的单选按钮,想把选择的结果写进数据库。 --------------------编程问答-------------------- RadioButton1.Checked ? null: RadioButton1.Text --------------------编程问答-------------------- RadioButton.Equals有问题,看LZ是想用单选来判断选择的性别,为什么不用RadioButton.Checked判断,然后得到Text属性再加到SQL语句里去呢
--------------------编程问答-------------------- string sex="";        
if (this.RadioButton1.Checked)
   sex = this.RadioButton1.Text;
else        
   sex = this.RadioButton2.Text;
        
--------------------编程问答-------------------- 改成RadioButton.Checked 还有错误 
提示:
System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。
标出 下一句 int i = Cm2.ExecuteNonQuery();出错了
--------------------编程问答-------------------- 如果你是access数据库的话,pwd是保留字,字段名称用[]号括起来 --------------------编程问答-------------------- 看一下是不字段类型的错误 --------------------编程问答-------------------- 數據庫設置是怎么樣的??? --------------------编程问答-------------------- 在RadioButton.text中兩邊加上加號
'"+RadioButton.Text+"'

------------------
OleDbCommand Cm2 = new OleDbCommand("INSERT INTO people (pid,pname,pwd,sex,Tel,Email,add) VALUES ('"+ pid.Text +"','" + name.Text + "','" + pwd1.Text + "', '"+RadioButton.Text+"','" + tel.Text + "','" + email.Text + "','" + add.Text + "')", con); --------------------编程问答-------------------- 这样有时容易写错,可以用string.Format来写
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,