在SQL server数据库中若想根据学生学号(在textbox1.text中)的内容在数据库的表stuInfo中提取姓名,年龄,专业,并把
学号,姓名,年龄,专业插入到表useInfo中,我的代码如下:
string strSql2 = "";
strSql2 = "select stuName,stuAge,stuMajor from stuInfo where stuNo='" + textBox1.Text + "'  "; 
SqlConnection conn4 = new SqlConnection("server=.;database=ParkingSystem;uid=sa;pwd=000000");
conn4.Open();
SqlCommand comm4 = new SqlCommand(strSql2, conn4);
SqlConnection conn3 = new SqlConnection();
conn3.ConnectionString = "server=.;database=ParkingSystem;uid=sa;pwd=000000";
string sql3 = "insert into useInfo(stuNo,stuName,stuAge,stuMajor ) values ('" + textBox1.Text + "','{0}','{1}','{2}')";
conn3.Open();
SqlCommand cmd3 = new SqlCommand(sql3, conn3);
cmd3.ExecuteNonQuery();
conn3.Close();
请问正确吗?怎么改正呢?

解决方案 »

  1.   

    还要再写 txtName .Text = tb.Rows[0].ItemArray[1].ToString();
            txtAge.Text = tb.Rows[0].ItemArray[2].ToString();
            txtMajor.text=tb.Row[0].ItemArray[3].Tostring();
    才能提取
      

  2.   

    SqlConnection conn3 = new SqlConnection();
    conn3.ConnectionString = "server=.;database=ParkingSystem;uid=sa;pwd=000000";
    string sql3 = "insert into useInfo(stuNo,stuName,stuAge,stuMajor ) 
    select stuName,stuAge,stuMajor from stuInfo where stuNo='" + textBox1.Text + "' "; 
    conn3.Open();
    SqlCommand cmd3 = new SqlCommand(sql3, conn3);
    cmd3.ExecuteNonQuery();
    conn3.Close();只用一条sql就ok了
    string sql3 = "insert into useInfo(stuNo,stuName,stuAge,stuMajor ) 
    select stuName,stuAge,stuMajor from stuInfo where stuNo='" + textBox1.Text + "' "; 一个SqlConnection对象就可以了