已有56人关注
购买C#程序开发宝典后做练习遇到问题
发表在C#图书答疑 2010-06-03
是否精华
版块置顶:
书是第二版的的,我用的是C#2008
做的练习是实例309利用SQL语句录入数据
其中有段代码是:
private void tbSave_Click(object sender, EventArgs e)
        {
            StringBuilder strSQL = new StringBuilder();
            strSQL.Append("insert into 员工表(员工编号, 员工姓名,基本工资,工作评价)");
            strSQL.Append(" values('" + textBox1.Text.Trim().ToString() + "','" + textBox2.Text.Trim().ToString() + "',");
            strSQL.Append("'" + Convert.ToSingle(textBox4.Text.Trim().ToString()) + "','" + textBox5.Text.Trim().ToString() + "')");
            using(SqlCommand cmd = new SqlCommand(strSQL.ToString(),con))
            {
                con.Open();
                cmd.ExecuteNonQuery();
                MessageBox.Show("OK");
                ControlInfo(false);
                con.Close();
            }

这段代码里的strSQL.Append(" values('" + textBox1.Text.Trim().ToString() + "','" + textBox2.Text.Trim().ToString() + "',");语句最后的 "',");  是错误的写法,应该写成"')");  
以上是个纠错
现在是我的问题,我想问问这段获取textbox文本内容写入数据库的代码如果换成参数化的sql语句要如何做啊?
就是比如“员工编号”变成了“@员工编号”类似这样的东东,要如何把获取的textbox中的文本信息写入到数据库中啊?麻烦高人指点一下,我是菜鸟
分享到:
精彩评论 3
小科_mrkj
学分:43 LV2
2010-06-03
沙发
读者朋友:
    您好,以上代码如果用参数实现,可以这样来写:
strSQL.Append("insert into 员工表(员工编号, 员工姓名,基本工资,工作评价)");
strSQL.Append(" values(@ID,@Name,@Salary,@Work");
using(SqlCommand cmd = new SqlCommand())
{
cmd.SqlParameter.Add("@ID",数据类型,长度).Value=textBox1.Text.Trim().ToString();//其他几个参数的添加与此类似
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("OK");
ControlInfo(false);
con.Close();
}

Linux笨笨
学分:0 LV1
TA的每日心情
开心
2023-05-07 15:03:14
2010-06-04
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者朋友:
    您好,以上代码如果用参数实现,可以这样来写:
strSQL.Append("insert into 员工表(员工编号, 员工姓名,基本工资,工作评价)");
strSQL.Append(" values(@ID,@Name,@Salary,@Work");
using(SqlCommand cmd = new SqlCommand())
{
cmd.SqlParameter.Add("@ID",数据类型,长度).Value=textBox1.Text.Trim().ToString();//其他几个参数的添加与此类似
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("OK");
ControlInfo(false);
con.Close();
}


[/FIELDSET]

回复:您好,根据您的代码我测试了一下,不知道您是否有在开发环境写过以上代码,我按照例子做了一下到了cmd.SqlParameter.Add这步的时候根本就不能找到sqlparameter甚至以后的东东就更没法打出来了,希望您能够帮忙看一下,谢谢
  
小科_mrkj
学分:43 LV2
2010-06-04
地板
读者朋友:
    您好,sqlparameter是区分大小写的,你写完cmd之后,点个点,在自动出来的列表里选。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照