直接执行就好了string StrCon1 = "Data Source=localhost;Initial Catalog=systemDB;" + "Integrated Security=True;User ID=sa;Password=";
SqlConnection conn1 = new SqlConnection(StrCon1);//创建数据库链接对象
conn1.Open();//打开数据库链接
try
{
    string MySQL1 = "insert into Score(TeacherID,TeacherName,CourseID,CourseName) select TeacherID,TeacherName,CourseID,CourseName from Teacher ";//定义SQL字符串,用来记录sql语句
    DbCommand cmd = conn1.CreateCommand();
    cmd.CommandText = MySQL1;
    int num = cmd.ExecuteNonQuery(); // 插入的记录数
}
finally
{
    conn1.Close();
}

解决方案 »

  1.   

    报错
    错误 1 找不到类型或命名空间名称“DbCommand”(是否缺少 using 指令或程序集引用?)
    是不是这个东西没定义?
      

  2.   

     string StrCon1  = "Data Source=localhost;Initial Catalog=systemDB;" + "Integrated Security=True;User ID=sa;Password=";
      string MySQL1 = "select TeacherID,TeacherName,CourseID,CourseName from Teacher ";//定义SQL字符串,用来记录sql语句
                
    using (SqlConnection conn1  = new SqlConnection(StrCon1 ))
        {
    conn1.Open();
                    SqlDataAdapter MyAdapter1 = new SqlDataAdapter(MySQL1, conn1);//定义数据适配器对象
            DataSet MyDataSet1 = new DataSet();//定义数据集对象
            MyAdapter.Fill(MyDataSet1, "Teacher");//填充数据集的数据
            DataTable MyTabel = MyDataSet1.Tables["Score"];
            DataRow MyRow1 = MyTabel.NewRow();//添加一条新的记录
            MyTabel.Rows.Add(MyRow1);//此时在内存里的表对象已经被添加一行
    if(MyTabel.Rows.Count>0)
    {
    SqlCommand sqlcom= new SqlCommand("Insert into Score(TeacherID ,TeacherName ,CourseID,CourseName) Values('" + MyRow1["TeacherID"] + "','" + MyRow1["TeacherName"] + "','" + MyRow1["CourseID"] + "','" + MyRow1["CourseName"] + "')", conn1);
    sqlcom.ExecuteNonQuery();  }
    }
    conn1.Close();
        }
      

  3.   

    这这这!!! 把光标放到 DbCommand 上,按 Ctrl + . 弹出菜单就知道了
    也可以换成 SqlCommand 或者 IDbCommand.
      

  4.   

    so good!
    非常感谢!
    我还想问问,就是,为什么执行我的那些代码就是不能插入记录呢?