为什么这里的DeleteCommand ,UPdateCommand没用啊
using System;
using System.Data;
using System.Data.SqlClient;
public class SqlData
{
public static void Main()
{
string connstr = "Data Source=(local);Initial Catalog=films;User Id=sa;Password=sa; ";
using (SqlConnection conn = new SqlConnection(connstr))
{
try
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlDataAdapter da = new SqlDataAdapter();
//这里构造函数有几个
//也可以直接用SqlDataAdapter(sql.conn)或SqlDataAdapter(sql.connstr);或SqlDataAdapter();
//SqlDataAdapter();比较特殊使用他后要用SelectCommand来执行命令,但带来的是可以执行不同的命令
// cmd.CommandText = "delete from movies where movie_id=10 ";
// da.DeleteCommand = cmd;//这里执行的是一个删除命令,但是为什么在这里会没用
//cmd.CommandText = "insert into movies(movie_title,movie_Year,movie_Directorid,studio)values( '风雨 ',24,3, '风雨越大越好 ') ";
//da.InsertCommand = cmd;//为什么这个插入命令也没用啊
cmd.CommandText = "update movies set movie_title= '更新数据 ' where movie_id=6 ";
da.UpdateCommand = cmd; //这是更新数据库但为什么没用呢
cmd.CommandText = "select*from movies ";
da.SelectCommand = cmd;//这里执行的是一个查询命令
DataSet ds = new DataSet();
da.Fill(ds, "movies ");
DataTable dt = ds.Tables[ "movies "];//返回一个内存表
foreach (DataRow r in dt.Rows)
{//Rows是返回列集合
// Console.WriteLine(r[1]);//取的列值0是取的列名,0以后的才是值
foreach (DataColumn c in dt.Columns)
{
Console.Write( "{0}\t ", r[c]); //这里是出错的
}
Console.WriteLine( "\n----------------行的分界符号-------------------- ");
}
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
}
}
为什么这里就只有SelectCommand , 而DeleteCommand ,UpdateCommand,insertCommand都没用啊。
[解决办法]
After da.SelectCommand = cmd;
you need Execute The Command .