使用sqlcommand對象來返回數據集合的方法、
string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;"; SqlConnection conn=new SqlConnection(strconn); conn.Open(); SqlCommand sqlcmd=new SqlCommand(); sqlcmd.CommandText ="select * from student"; sqlcmd.Connection=conn; SqlDataAdapter adp=new SqlDataAdapter(sqlcmd); DataTable dt=new DataTable(); adp.Fill(dt); dataGrid1.DataSource=dt; 使用sqlcommand對象來返回SQL執行正確與否 string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;"; SqlConnection conn=new SqlConnection(strconn); conn.Open(); SqlCommand sqlcmd=new SqlCommand(); sqlcmd.CommandText ="select * from student"; sqlcmd.Connection=conn; try { sqlcmd.ExecuteNonQuery(); MessageBox.Show("success"); } catch { MessageBox.Show("false"); }
使用sqlcommand對象來操作存儲過程
string strconn="data source=billgates;initial catalog=test;integrated security=SSPI;"; SqlConnection conn=new SqlConnection(strconn); conn.Open(); SqlCommand sqlcmd=new SqlCommand(); sqlcmd.CommandText ="a"; sqlcmd.CommandType=CommandType.StoredProcedure ; sqlcmd.Connection=conn; sqlcmd.Parameters.Add("@param1",textBox1.Text.Trim()); sqlcmd.Parameters.Add("@param2",textBox2.Text.Trim()); sqlcmd.Parameters.Add("@param3",textBox3.Text.Trim()); SqlDataAdapter adp=new SqlDataAdapter(sqlcmd); DataTable dt=new DataTable(); adp.Fill(dt); dataGrid1.DataSource=dt;
ExecuteReader方法
using System; using System.Data.SqlClient; public class Lvcha { public static void Main(string[] args) { string source="Server =192.168.1.100; User ID=ac_sy_guest; Password=guest1314; Initial CataLog=Account"; string select="select * from dbUser"; SqlConnection conn=new SqlConnection(source); conn.Open(); SqlCommand cmd=new SqlCommand(select,conn); SqlDataReader reader=cmd.ExecuteReader();//返回只能讀取,不能寫入的SqlDataReader對象 while(reader.Read()) { Console.WriteLine("{0}",reader["user_name"]); } Console.ReadLine(); } }
ExecuteNonQuery方法
一般修改刪除都插入都用它 返回受影響的行數。 using System; using System.Data.SqlClient; public class Lvcha { public static void Main(string[] args) { string source="Server =192.168.1.100; User ID=ac_sy_guest; Password=guest1314; Initial CataLog=Account"; string select="updata ....."; SqlConnection conn=new SqlConnection(source); conn.Open(); SqlCommand cmd=new SqlCommand(select,conn); object o=cmd.ExecuteNonQuery(); while(reader.Read()) { Console.WriteLine("{0}",reader["user_name"]); } Console.ReadLine(); } }
ExecuteScalar方法
執行查詢,並返回查詢所返回的結果集中第一行的第一列。所有其他的列和行將被忽略。
using System; using System.Data.SqlClient; public class Lvcha { public static void Main(string[] args) { string source="Server =192.168.1.100; User ID=ac_sy_guest; Password=guest1314; Initial CataLog=Account"; string select="select count(*) from dbUser"; SqlConnection conn=new SqlConnection(source); conn.Open(); SqlCommand cmd=new SqlCommand(select,conn); object o=cmd.ExecuteScalar(); Console.WriteLine(o); Console.ReadLine(); } }
ExecuteNonQuery用於執行不返回任何記錄的SQL語句或存儲過程。在數據庫執行如更新、插入、刪除操作時,應使用這個方法。ExecuteNonQuery返回一個整數值,用來說明受查詢語句影響的行數。
connection.Open();
command.ExecuteNonQuery();
command.Close();
ExecuteScalar與ExecuteNonQuery一樣,其返回的也是單值,但該返回值是從數據庫中讀出來的,而不是受影響的行數。它通常用於選擇一個值的SQL語句。如果SELECT返回多行或多列,則使用該方法僅返回第一行第一列的數據。
ExecuteReader被用於返回多條記錄的SELECT語句(包含任意個字段)。ExecuteReader將返回一個包含查詢結果的SqlDataReader對象。一個SqlDataReader對象是以順序向前且只讀的形式逐個讀取並返回結果的。SqlDataReader是數據庫中讀取數據最快的對象,但必須打開連接。通過SqlDataReader取回所有的記錄,並把它們存入DataTable對象中(它可以存儲離線數據而不需要一個打開的連接),這樣就可以馬上關閉數據庫連接了。DataTable類可以存放本地的結果集而不需要一個打開的SQL Server連接,和其它的ADO.NET對象一樣,它也不是特定於某種數據提供程序的。
conn.Open();
SqlDataReader reader = comm.ExecuteReader();
DataTable table = new DataTable();
table.Load(reader);
reader.Close();
conn.Close();
出處:http://bluelightning.blog.163.com/blog/static/581653201002010511090/
