SqlCommand是C#中與Sql數據庫打交道的對象,幾乎所有的Sql數據庫操作都需要使用該對象來實現,但其功能有限,只是簡單的實現了與Sql數據庫的接口而已;
//以下使用陳述式寫法 聽說可以 自動生成 try,finally功能
using (SqlConnection connection = new SqlConnection(connectString))
{
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;
command.CommandType = CommandType.Text;
command.CommandText = "INSERT into [dbo].[Table_Friber_SN] (Friber_SN, SN, note, OP) VALUES (@Friber_SN, @SN, @note, @OP)";
command.Parameters.AddWithValue("@Friber_SN", LblNewSN.Text);
command.Parameters.AddWithValue("@SN", (int)DS.Rows[0][0] + 1);
command.Parameters.AddWithValue("@note", "新增SN");
command.Parameters.AddWithValue("@OP", TxtOP.Text);
connection.Open();
int recordsAffected = command.ExecuteNonQuery();
LblReturn.Text = recordsAffected.ToString();
LblC9C12.Text = "xxxx";
}
}
adapter的定義是基於command的,當然也可以之間在定義adapter的時候寫入sql語句和connection對象
// 連線str
string connectString = "Server=dataserver; Database=FormericaOE; User ID=xxx; Password=xxx; ";
// 建構 sqlConnection連線物件
SqlConnection conn = new SqlConnection(connectString);
string selectstr = "SELECT MAX(SN)" + "FROM[FormericaOE].[dbo].[Table_Friber_SN]";
SqlDataAdapter da = new SqlDataAdapter(selectstr, connectString);
DS.Clear(); //先清空 DataTable
da.Fill(DS); //用SqlDataAdapter 填入 DS
可以這樣理解: DataSet用來裝表的集合,裏面可以裝從SqlDataAdapter中返回的一系列的DataTable
如果返回的有多張表,那麼我們可以通過索引的方式來找到想要的表:
DataTable dt = ds.Tables[0];或DataTable dt = ds.Tables["products"];
DataSet可以直接做爲數據控件的數據源,也可以從中獲取表或表的視圖來做爲數據源.如: