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

请问C#和SQL连接向SQL的表中追加数据的代码怎么写

请问C#和SQL连接向SQL的表中追加数据的代码怎么写 --------------------编程问答-------------------- 没明白
--------------------编程问答--------------------
引用 1 楼 deknight 的回复:
没明白

就是说数据库里已经有一个用户信息表了,我想用C#语句往用户信息表里添加新用户的信息,要怎么变代码,我现在编的代码如下,可是调不过去
            if (textBox1.Text.Trim() == "")
            {
                MessageBox.Show("请输入用户名");
                return;
            }
          
            if (textBox2.Text.Trim() == "")
            {
                MessageBox.Show("请输入密码");
                return;
            }
          
            if (this.comboBox1.Text == "")
            {
                MessageBox.Show("请选择用户的操作权限");
                return;
            }
            SqlConnection thisConnection = new SqlConnection("Data Source=PC-200811012150\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=销售信息管理表");
            thisConnection.Open();
            string sql = "insert yonghuxinxi set yhm='" + textBox1.Text + "',czqx='" + textBox2.Text + "',mm='" + comboBox1.Text + "'";
            SqlDataAdapter myadapter = new SqlDataAdapter(sql, thisConnection);
            DataSet mydataset = new DataSet();
            myadapter.Fill(mydataset, "shangpinxinxi");

            thisConnection.Close();
--------------------编程问答-------------------- string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
基本的sql语句....
用set 的一般是update --------------------编程问答-------------------- 补下数据库的基本知识吧

另 if (textBox2.Text.Trim() == "")
可以用 if(string.IsNullOrEmpty(textBox2.text.ToString())) --------------------编程问答-------------------- sql错误
insert into yonghuxinxi (字段1,字段2,字段n)values(值1,值2,值n) --------------------编程问答-------------------- 恩,是的。3楼给你写好了 --------------------编程问答--------------------
引用 3 楼 yumenlong5149 的回复:
string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
基本的sql语句....
用set 的一般是update

运行后没有追加到数据库中新的用户信息啊 --------------------编程问答--------------------
引用 3 楼 yumenlong5149 的回复:
string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
基本的sql语句....
用set 的一般是update


就是这样.. --------------------编程问答--------------------
引用 7 楼 yututingping 的回复:
引用 3 楼 yumenlong5149 的回复:
string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
基本的sql语句....
用set 的一般是update

运行后没有追加到数据库中新的用户信息啊

string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";

 yonghuxinxi('','','') 这你要改成你自己字段名称啊 --------------------编程问答--------------------

        SqlConnection sqlConn;
        SqlCommand sqlCmd, sqlInsertCmd;
        SqlDataAdapter sqlDA;
        DataSet ds;

            sqlConn = new SqlConnection("Data Source=.;Initial Catalog=jwinfo;Integrated Security=True;");
            
            sqlInsertCmd = new SqlCommand("Insert into 班级 values('2008090101','IT管理','01','0101');",sqlConn);
            sqlCmd = new SqlCommand("SELECT 班级编号,班级名称 FROM 班级", sqlConn);

            //添加一行数据
            sqlConn.Open();
            int addRows=sqlInsertCmd.ExecuteNonQuery();
            MessageBox.Show(addRows .ToString()+"条数据添加成功!");

            sqlDA = new SqlDataAdapter(sqlCmd);
            ds=new DataSet();

            sqlDA.Fill(ds, "学生信息");

            dataGridView1.DataSource = ds.Tables["学生信息"];
--------------------编程问答--------------------
引用 5 楼 deknight 的回复:
sql错误
insert into yonghuxinxi (字段1,字段2,字段n)values(值1,值2,值n)

我想实现的效果就是在最后一行追加新的用户信息,不要覆盖前面的 --------------------编程问答--------------------
string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";

第一个括号里面的是数据库里表对应的名称 --------------------编程问答--------------------
引用 9 楼 deknight 的回复:
引用 7 楼 yututingping 的回复:
引用 3 楼 yumenlong5149 的回复:
string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
基本的sql语句....
用set 的一般是update
……

就是呀,改成自己的字段后才运行的 --------------------编程问答--------------------
引用 11 楼 yututingping 的回复:
引用 5 楼 deknight 的回复:
sql错误
insert into yonghuxinxi (字段1,字段2,字段n)values(值1,值2,值n)

我想实现的效果就是在最后一行追加新的用户信息,不要覆盖前面的


insert into就是插一条新的 
update xxx set 才是更新以前的数据 --------------------编程问答--------------------
SqlCommand cmd = new SqlCommand(SQLString, thisConnection);
cmd.ExecuteScalar();
--------------------编程问答--------------------
引用 9 楼 deknight 的回复:
引用 7 楼 yututingping 的回复:
引用 3 楼 yumenlong5149 的回复:
string sql="insert into yonghuxinxi('','','') values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"')";
基本的sql语句....
用set 的一般是update
……

改后应该是这样的吧
  SqlConnection thisConnection = new SqlConnection("Data Source=PC-200811012150\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=销售信息管理表");
            thisConnection.Open();
            string sql = "insert into yonghuxinxi('yhm','czqx','mm') values('" + textBox1.Text + "','" + textBox2.Text + "','" + comboBox1.Text + "')";
            SqlDataAdapter myadapter = new SqlDataAdapter(sql, thisConnection);
            thisConnection.Close();
可是还是追加不上啊 --------------------编程问答-------------------- 改后应该是这样的吧
  SqlConnection thisConnection = new SqlConnection("Data Source=PC-200811012150\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=销售信息管理表");
  thisConnection.Open();
  string sql = "insert into yonghuxinxi('yhm','czqx','mm') values('" + textBox1.Text + "','" + textBox2.Text + "','" + comboBox1.Text + "')";
  //SqlDataAdapter myadapter = new SqlDataAdapter(sql, thisConnection);
SqlCommand cmd=new SqlCommand(sql,thisConnection);
cmd.ExecuteNonQuery();  
thisConnection.Close();
要这样子
--------------------编程问答--------------------
引用 17 楼 myhope88 的回复:
改后应该是这样的吧
  SqlConnection thisConnection = new SqlConnection("Data Source=PC-200811012150\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=销售信息管理表");
  thisConnection.Open();
  string sql = "in……

报错了,在cmd.ExecuteNonQuery(); 这行
列名 'yhm' 无效。
列名 'czqx' 无效。
列名 'mm' 无效。 --------------------编程问答-------------------- 插入语句错了。。。 --------------------编程问答-------------------- 你的表里没有别的字段了吗? --------------------编程问答--------------------
引用 20 楼 zhengbin215 的回复:
你的表里没有别的字段了吗?

就这些了,还有一个编号的问题,我想让它添加进去自动排序,是编号唯一 --------------------编程问答-------------------- 'yhm'

把''去掉试试 --------------------编程问答--------------------
引用 18 楼 yututingping 的回复:
引用 17 楼 myhope88 的回复:
改后应该是这样的吧
SqlConnection thisConnection = new SqlConnection("Data Source=PC-200811012150\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=销售信息管理表");
thisConnection.Open();
……

把这几个字段的引号都去掉 --------------------编程问答--------------------
引用 23 楼 bestzrz 的回复:
引用 18 楼 yututingping 的回复:
引用 17 楼 myhope88 的回复:
改后应该是这样的吧
SqlConnection thisConnection = new SqlConnection("Data Source=PC-200811012150\\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=销售信息管理表"……

去掉了,还是填不上去 --------------------编程问答-------------------- 学习。 --------------------编程问答-------------------- 如果主键ID是自动增长的,不需要特意对主键进行插入操作比如table(ID,字段1,字段2)
insert into table values(‘“+textBox1.Text+”’,‘“+textBox1.Text+”’);
如果ID的值为SA001,SA002,SA003
如果需要对其进行插入操作
select *from table;
//取出ID列最后一个值  --SA003
string s=ds.Tables[0].Rows[ds.Tables[0].Rows.Count-1][0];
//截取后面的位数进行+1操作  作为新记录的主键
int i=Convert.ToInt32(s.SubString(2,3))+1;
s="SA"+i.ToString();
//进行插入
insert into table(ID,字段1,字段2) values(s,(‘“+textBox1.Text+”’,‘“+textBox1.Text+”’); --------------------编程问答-------------------- 应该能看懂吧...中间省略了dataAdapter和加载DataSet --------------------编程问答-------------------- 看你一气问了那么多问题...

既然找到问题了,就该有针对性地看点书了/或网络上SQL方面的视频
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,