ADO.NET中的模型及對象
阿新 • • 發佈:2018-03-12
list exec cmd 成功 密碼 comm log top sin
一、ADO.NET中的模型及對象
1、EexcuteNonQuery------>實現非查詢操作(增刪改)
sql語句查詢非參數化
//連接字符串 string conStr = @"server=.;database=MyDataBase;uid=sa;pwd=sa"; //要執行的sql語句 string sql = "insert into MyDataBase(Id,Name,Age,Sex) values(1,‘曹操‘,500,‘m‘)"; //創建連接對象 using(SqlConnection conn = new SqlConnection(conStr)) { //第一種寫法; //創建執行對象(執行sql語句) //using (SqlCommand cmd = new SqlCommand()) //{ // cmd.Connection = conn; // cmd.CommandText = sql; // //打開數據庫 // conn.Open(); // //返回收影響的行數 // int count = cmd.ExecuteNonQuery(); // Console.WriteLine("{0}行收影響", count); //} //第二種寫法 在構造函數中傳入SQL語句和連接對象 using (SqlCommand cmd = new SqlCommand(sql, conn)) { conn.Open();int count = cmd.ExecuteNonQuery(); Console.WriteLine("{0}行受影響", count); } } Console.ReadKey()
2、ExcuteScalar查詢首行首列(返回Object類型)
// 提示用戶輸入用戶名 Console.Write("Enter User Id:"); string userName = Console.ReadLine(); // 提示用戶輸入密碼 Console.Write("Enter Password:"); string userPwd = Console.ReadLine(); //連接字符串 string conStr = @"server=.;databae=MyDataBase;uid=sa;pwd=sa"; //sql 語句 string sql = string.Format("select count(*) from Users where userName=‘{0}‘ and userPwd={1}", userName, userPwd); int count = 0; using (SqlConnection conn = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, conn)) { conn.Open(); //返回首行首列是Object類型 count = (int)cmd.ExecuteScalar(); } } if (count > 0) { Console.WriteLine("登錄成功"); } else { Console.WriteLine("登錄失敗"); }
3、ExecuteRader逐行讀取數據
//連接字符串 string conStr = @"server=.;database=MyDataBase;uid=sa;pwd=sa"; //sql語句 查詢整張表的數據(逐行取) string sql = "select * from Data"; using (SqlConnection conn = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, conn)) { conn.Open(); //一次一行數據來回讀取數據 SqlDataReader reader = cmd.ExecuteReader(); using (reader)//每次向下讀取一行 直到讀取完為止 { Console.WriteLine("{0},{1},{2}", reader[0], reader[1], reader[2]); } while (reader.Read())//循環讀取每一行數據 直到讀取完為止 { List<string> list = new List<string>();//每讀取一行 創建一行string類型 for (int i = 0; i < reader.FieldCount; i++)//循環遍歷每一行數據的每一列數據 { list.Add(reader[i].ToString()); } Console.WriteLine(string.Join(",", list)); } } }
4、SqlDataAdapter讀取數據集
string conStr = @"server=.;database=MyDataBase;uid=sa;pwd=sa"; string sql = "select * top 10 from Data"; DataSet ds = new DataSet(); using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conStr)) { adapter.Fill(ds); } //取出DataSet中的數據 //遍歷取出DataSet ds中的每一個表 for (int i = 0; i < ds.Tables.Count; i++) { DataTable dt = ds.Tables[i]; //遍歷DataTable dt中的每一行 for (int j = 0; j < dt.Rows.Count; j++) { DataRow row = dt.Rows[i]; List<string> list = new List<string>(); for (int k = 0; k < row.ItemArray.Length; k++) { list.Add(row.ItemArray[k].ToString()); } Console.WriteLine(string.Join(",",list)); } }
ADO.NET中的模型及對象