private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection myconn = new SqlConnection();
            myconn.ConnectionString = "server=(local);database=SQLview;uid=sa;pwd=123";
            myconn.Open();
            string mysql = "INSERT into 区县表 VALUES('"+textBox1+"','"+textBox2+"','"+textBox3+"','"+textBox4+"','"+textBox5+"','"+textBox6+"','"+textBox7+"','"+textBox8+"')";
            SqlCommand mycmd = new SqlCommand(mysql,myconn);
            mycmd.CommandText = mysql;
            mycmd.ExecuteNonQuery();
            MessageBox.Show("数据添加成功!");
            SqlDataAdapter AdapterSelect = new SqlDataAdapter("select* from 区县表", myconn);
            DataTable dt = new DataTable();
            AdapterSelect.Fill(dt);
            dataGridView1.DataSource = dt.DefaultView;

        }

解决方案 »

  1.   

    区县表   中文?'"+textBox1+"','"+textBox2+"','"+textBox3+"','"+textBox4+"','"+textBox5+"','"+textBox6+"','"+textBox7+"','"+textBox8+"'
    ————————
    你这些东西的数据类型呢?
    你这串代码实在不咋的
      

  2.   

    INSERT INTO AccountPara]
               ([iIndex]
               )
         VALUES
               (1
              )把列名称加上
      

  3.   

    怎么也不说插入到 区县表的哪个字段呢,insert用法是insert into tableA(field1,field2) values('a','b')
      

  4.   

     private void button1_Click(object sender, EventArgs e)
            {
                string s1 = textBox1.Text;
                string s2 = textBox2.Text;
                string s3 = textBox3.Text;
                string s4 = textBox4.Text;
                string s5 = textBox5.Text;
                string s6 = textBox6.Text;
                string s7 = textBox7.Text;
                string s8 = textBox8.Text;
               
                SqlConnection myconn = new SqlConnection();
                myconn.ConnectionString = "server=(local);database=SQLview;uid=sa;pwd=123";
               
                string mysql = "INSERT into 区县表 (代码,省份,隶属,名称,面积(平方公里),人口(万),邮编,区号)VALUES('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+s7+"','"+s8+"')";
                SqlCommand mycmd = new SqlCommand(mysql,myconn);
                try
                {                myconn.Open();
                    mycmd.ExecuteNonQuery();
                    myconn.Close();
                }            catch (Exception exp)
                {
                    Console.WriteLine("{0} Exception caught.", exp);
                }
                finally
                {
                    MessageBox.Show("数据添加成功!");
                }
    这样改一下  好想还是不行啊  数据库里没有添加的内容
      

  5.   

    在这句  SqlCommand mycmd = new SqlCommand(mysql,myconn);  设置断点,执行到这句,然后看mysql这个串的值,是不是正确的。然后在观察窗口里把这个串的值复制出来,放在SSMS里分析和执行一下,看正确与否。
      

  6.   


    textBox1控件 怎么当值传进去呢,他是一个控件,你应该把控件所保存的值传进去才行
      

  7.   

    你这样写,是不是没添加成功也显示“数据添加成功!”?
    上面数据类型都没转化过来,比如面积(平方公里)
    double s5=Convert.ToDouble(textBox5.Text);  //如果类型为double类型
      

  8.   


    string mysql = "INSERT into 区县表 VALUES('"+textBox1+"','"+textBox2+"','"+textBox3+"','"+textBox4+"','"+textBox5+"','"+textBox6+"','"+textBox7+"','"+textBox8+"')";这句就是错的....后面都加上.Text
      

  9.   

    哦 “代码”float “省份” nvarchar  “隶属”nvarchar  “名称” nvarchar  “面积(平方公里)”float
    后面的“人口(万)”“区号”“邮编 ”都是float的
      

  10.   

    既然都是数据类型错误问题那就把数据类型都转化下载插入呗你把float类型都转化下,如textbox1里面放的代码,则定义 double s1=double.Parse(textbox1.Text把所有floa类型的都用这种写法转换下
      

  11.   

    还是添加不行啊 
     private void button1_Click(object sender, EventArgs e)
            {
                string s1 = textBox1.Text;
                string s2 = textBox2.Text;
                string s3 = textBox3.Text;
                string s4 = textBox4.Text;
                string s5 = textBox5.Text;
                double s6 = double.Parse(textBox6.Text);
                double s7 = double.Parse(textBox7.Text);
                double s8 = double.Parse(textBox8.Text);
               
                SqlConnection myconn = new SqlConnection();
                myconn.ConnectionString = "server=(local);database=SQLview;uid=sa;pwd=123";
               
                string mysql = "INSERT into 区县表 (代码,省份,隶属,名称,面积(平方公里),人口(万),邮编,区号)VALUES('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+s7+"','"+s8+"')";
                SqlCommand mycmd = new SqlCommand(mysql,myconn);
                try
                {                myconn.Open();
                    mycmd.ExecuteNonQuery();
                    myconn.Close();
                }            catch (Exception exp)
                {
                    Console.WriteLine("{0} Exception caught.", exp);
                }
                finally
                {
                    MessageBox.Show("数据添加成功!");
                }
               
            }
      

  12.   

    你上面的数据访问的语句都齐了,有Connection对象,有Command对象,也执行了Connection.Open()和Command.ExecuteNonQuery()。估计问题出在插入数据的这个SqlCommand上。我还是那个意见,在你18楼的代码
    string mysql = "INSERT into 区县表 (代码,省份,隶属,名称,面积(平方公里),人口(万),邮编,区号)VALUES('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+s7+"','"+s8+"')";
    SqlCommand mycmd = new SqlCommand(mysql,myconn);
    中的
    SqlCommand mycmd = new SqlCommand(mysql,myconn);
    处设置一个断点,运行到该断点,然后在观察容器里,看mysql这个串的值,并将值复制出来。然后粘贴到SQL Server Management Studio的查询窗口,看能否执行。另外提个建议,把MessageBox写在finally子句里,实在不是个好习惯。finally里一般放资源释放类的操作。在这里,我宁肯你放的是:
    myconn.Close();
      

  13.   

    补充一句:在构造一个串的时候,特别要注意全角和半角符号。 SQL语法里都用的英文的半角标点。
      

  14.   

    貌似按你说的你的代码是float的面积是float,人口区号邮编都是float类型的为什么你上面才只强制转换了3个float就是说代码的float和面积的float类型你根本没有转换