C#操作SQL資料庫 Connection(連接)對象 形式2.”server=;Intergrated Security=true/SSPI” Command(命令)對象 形式2.new SqlCommand(Sql語句, 連接對象)//省略2,5 形式2.執行select語句(count,sum ...
C#操作SQL資料庫
Connection(連接)對象
- 連接字元串: 形式1.”server=;uid=;pwd=;database=”
形式2.”server=;Intergrated Security=true/SSPI”
- 創建連接對象: SqlConnection con=new SqlConnection(連接字元串)
- 打開資料庫連接:con.Open()
- 關閉資料庫連接:con.Close()
- 查看連接狀態:con.state =ConnectionState.Open/Closed
Command(命令)對象
- 創建命令對象:形式1. SqlCommand cmd=new SqlCommand()
形式2.new SqlCommand(Sql語句, 連接對象)//省略2,5
- 指定連接對象:cmd.Connection=連接對象
- 設置命令類型:cmd.CommandType=CommandType.Text/ StoredProcedure
- 連接資料庫: cmd.Connection.Open()
- 設置Sql語句:cmd.CommandText=”select語句”/”非select語句”/”存儲過程名”
- 執行sql語句:形式1.執行非select語句,返回受影響的行數:cmd.ExecuteNonQuery()
形式2.執行select語句(count,sum,…),返回第一行第一列的值:cmd.ExecuteScalar()
形式3.執行select語句,返回一個DataReader對象:cmd.ExecuteReader()
DataReader對象
- 創建DataReader對象:SqlDataReader sqldr= cmd. ExecuteReader ()
- 判斷是否有數據:sqldr.HasRows=true/false
- 讀取(下)一行記錄:sqldr.Read()
- 獲取數據: sqldr [“列名”]
- 關閉DataReader對象:sqldr.Close()
Parameters(Command參數集)
當命令類型為存儲過程:cmd.CommandType= StoredProcedure
- 創建對象:形式1.SqlParameters parms=new SqlParameters()
形式2. new SqlParameters(參數名稱, 參數類型, 類型值)//省略2,3,4
- 設置參數名稱: parms. ParameterName=”@存儲過程里的參數1”
- 設置參數類型: parms .SqlDbType= SqlDbType.參數1數據類型
- 設置類型值:parms.Size=int
- 為參數賦值:parms.Value=對應類型的值
- 添加參數:cmd.Parameters.Add(parms)
- 執行語句: cmd.ExecuteNonQuery()
- 獲取參數值: cmd.Parameters[“@參數名”]
- 多個SqlParameters可以用SqlParameter [] parms={new SqlParameter(),… }
DataSet(小型資料庫)對象//無需連接,執行
DataTable(數據表)對象:包含在DataSet里
- 創建DataAdapter對象:形式1. DataAdapter da=new DataAdapter()
形式2. new DataAdapter(Sql語句, 連接對象)//省略2
- 通過SelectCommand創建SqlCommand 命令:ada.SelectCommand=new SqlCommand()
- 通過SelectCommand使用SqlCommand 的方法,屬性:ada.SelectCommand.CommandType
- 創建DataSet對象: DataSet ds=new DataSet()
- 創建DataTable對象: DataTable=new DataTable()
- 用da填充ds/dt:形式1.da.Fill(ds)
形式2. da.Fill(ds,” 數據表名”)
形式3. da.Fill(dt)
DataGridView控制項的使用
1.創建對象: DataGridView dgv=new DataGridView()
1.指定數據源為DataTable: dgv.DataSource=ds.Table[n]/dt