| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3852 人关注过本帖
标题:为什么这段代码会出现{"',' 附近有语法错误。"} 在 这句da.E ...
只看楼主 加入收藏
sandflow
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-11-24
结帖率:100%
收藏
 问题点数:0 回复次数:8 
为什么这段代码会出现{"',' 附近有语法错误。"} 在 这句da.ExecuteNonQuery()
string txt1 = "Data Source=pc2011091520fha;DataBase=学生;Integrated Security=SSPI;User Instance=False";
            SqlConnection conn = new SqlConnection(txt1);                     
            string txt2 = "Insert Into 学生信息表(学号,姓名,性别,政治面貌,籍贯,手机)Values('";
            txt2 += textBox1.Text + "','";
            txt2 += textBox2.Text + "','";
            txt2 += comboBox2.Text + "','";
            txt2 += comboBox1.Text + "','";
            txt2 += textBox5.Text + "','";
            txt2 += textBox6.Text + "')";
            conn.Open();   
            SqlCommand  da=new SqlCommand (txt2,conn);
            da.ExecuteNonQuery();
            textBox1.Text = "";
            textBox2.Text = "";
            comboBox2.Text = "";
            comboBox1.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            MessageBox.Show("添加成功!");
            da.Dispose();
            conn.Close();
搜索更多相关主题的帖子: 手机 姓名 Values False 
2011-11-28 23:01
Dazzler
Rank: 2
等 级:论坛游民
帖 子:14
专家分:27
注 册:2011-11-15
收藏
得分:0 
干嘛搞这么复杂呢?这样弄很麻烦而且容易出错,还会造成注入式攻击。你可以用参数化的方式啊!给你两个方案:
方案一:
string txt2=string.Format("insert into 学生信息表(学号,姓名,性别,政治面貌,籍贯,手机) values(@xuehao,@name,@sex,@zhengzhi,@jiguan,@phoneNumber)",textBox1.Text.Trim(),textBox2.Text.Trim(),textBox3.Text.Trim(),textBox4.Text.Trim(),textBox5.Text.Trim(),textBox6.Text.Trim());

方案二:
using(SqlCommand cmd=conn.CreateConnection())
{
    into 学生信息表(学号,姓名,性别,政治面貌,籍贯,手机) values(@xuehao,@name,@sex,@zhengzhi,@jiguan,@phoneNumber)";
    cmd.Parameters.Add(new SqlParameter("xuehao",textBox1.Text.Trim()));
    cmd.Parameters.Add(new SqlParameter("name",textBox2.Text.Trim()));
    cmd.Parameters.Add(new SqlParameter("sex",textBox3.Text.Trim()));
    cmd.Parameters.Add(new SqlParameter("zhengzhi",textBox4.Text.Trim()));
    cmd.Parameters.Add(new SqlParameter("jiguan",textBox5.Text.Trim()));
    cmd.Parameters.Add(new SqlParameter("phoneNumber",textBox6.Text.Trim()));
}

有不知道的就问我吧



[ 本帖最后由 Dazzler 于 2011-11-29 23:28 编辑 ]
2011-11-29 07:12
winners
Rank: 6Rank: 6
来 自:济南
等 级:侠之大者
威 望:1
帖 子:105
专家分:416
注 册:2009-3-20
收藏
得分:0 
你的那个“,”格式不对
2011-11-29 14:34
yimaoqian198
Rank: 4
等 级:业余侠客
帖 子:108
专家分:287
注 册:2010-5-10
收藏
得分:0 
政治面貌,籍贯,手机)","用的是拼音输入发输入的
2011-11-29 16:04
zx10283
Rank: 2
等 级:论坛游民
帖 子:25
专家分:82
注 册:2011-10-20
收藏
得分:0 
一般你要是在da.ExecuteNonQuery(),或da.Fill(ds)附近有错,就说明你的SQL语句写的有问题
2011-11-30 16:52
xueyifeng
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:25
专家分:162
注 册:2011-12-1
收藏
得分:0 
调试~看最后的txt2到底是一条怎样的字符串
2011-12-02 11:19
chtml小兵
Rank: 5Rank: 5
等 级:职业侠客
威 望:3
帖 子:126
专家分:314
注 册:2011-10-3
收藏
得分:0 
sql语句有错误

做个程序员吧,在里面找到万千对象~~~~~~
百名书阁(bmbook.5d6d)__最全IT图书免费下载中心
net图书资料/软件工具大全____免费!!!
各种编程语言教程应有尽有
2011-12-02 14:53
志慧
Rank: 2
等 级:论坛游民
威 望:3
帖 子:6
专家分:40
注 册:2012-1-1
收藏
得分:0 
要用一变量来接收da.ExecuteNonQuery();并用if判断……
2012-01-12 17:57
天使不哭
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:677
专家分:22
注 册:2006-7-9
收藏
得分:0 
以下是引用sandflow在2011-11-28 23:01:15的发言:

string txt1 = "Data Source=pc2011091520fha;DataBase=学生;Integrated Security=SSPI;User Instance=False";
            SqlConnection conn = new SqlConnection(txt1);                     
            string txt2 = "Insert Into 学生信息表(学号,姓名,性别,政治面貌,籍贯,手机)Values('";
            txt2 += textBox1.Text + "','";
            txt2 += textBox2.Text + "','";
            txt2 += comboBox2.Text + "','";
            txt2 += comboBox1.Text + "','";
            txt2 += textBox5.Text + "','";
            txt2 += textBox6.Text + "')";
            conn.Open();   
            SqlCommand  da=new SqlCommand (txt2,conn);
            da.ExecuteNonQuery();
            textBox1.Text = "";
            textBox2.Text = "";
            comboBox2.Text = "";
            comboBox1.Text = "";
            textBox5.Text = "";
            textBox6.Text = "";
            MessageBox.Show("添加成功!");
            da.Dispose();
            conn.Close();

前面2个逗号是半角,后面3个逗号是全角,编程只能用半角符号
你自己好好看看,逗号都不一样。

C#Winform技术群:25380362
博客:http:///boyliupan/
2012-01-12 18:40
快速回复:为什么这段代码会出现{"',' 附近有语法错误。"} 在 这句 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018036 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved