1. Command對(duì)象的作用? 用于對(duì)數(shù)據(jù)庫發(fā)出SQL命令,從而執(zhí)行增刪改查(CURD)等操作。 2. Command對(duì)象兩個(gè)主要方法 ExecuteNonQuery方法:執(zhí)行命令并返回受影響的行數(shù) ExecuteReader方法:執(zhí)行命令并返回生成的DataReader 3. DataReader對(duì)象的作用? 返回一個(gè)來自數(shù)據(jù)命令的只讀、只進(jìn)的數(shù)據(jù)流。 語法: SQLCommand對(duì)象名 = new SQLCommand("SQL語句",Connection實(shí)例化對(duì)象); 實(shí)例: 使用VS2010編寫數(shù)據(jù)庫增刪改查(CURD)操作 ====================================================== 第一步: 1.用SQL Server創(chuàng)建數(shù)據(jù)庫(如果沒有):test 2.再創(chuàng)建表(如果沒有):info(id,name,sex),其中id為自增字段,主鍵 第二步: 1.用VS2010創(chuàng)建 ASP.Net空Web應(yīng)用程序 項(xiàng)目:WebApplication1 2.再在項(xiàng)目WebApplication1中添加新建項(xiàng) Web窗體:Default.aspx: 3.Page_Load方法中添加如下代碼:(記得添加需要的引用,如:using System.Data.SqlClient;等等) //取得數(shù)據(jù)庫連接對(duì)象myconn //string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString; string connStr = ConfigurationManager.ConnectionStrings["SqlConnStr"].ToString(); //string connStr = ConfigurationSettings.AppSettings["connstring"]; //using System.Configuration; SqlConnection myconn = new SqlConnection(connStr); myconn.Open(); //添加數(shù)據(jù) SqlCommand cmdInsert = new SqlCommand("insert into info(name,sex) values('張三','男')", myconn); int n = cmdInsert.ExecuteNonQuery();//執(zhí)行命令并返回受影響的行數(shù) Response.Write("添加記錄成功!共影響行數(shù)為:" + n); Response.Write("<br>"); //查詢數(shù)據(jù) SqlCommand cmdSelect = new SqlCommand("select * from info", myconn); SqlDataReader dr1 = cmdSelect.ExecuteReader();//執(zhí)行命令并返回生成的DataReader while (dr1.Read()) { Response.Write(dr1["name"]); Response.Write(dr1["sex"]); Response.Write("<br>"); } dr1.Close(); //修改數(shù)據(jù) SqlCommand cmdUpdate = new SqlCommand("update info set name='王五',sex='女' where name='張三'", myconn); int m = cmdUpdate.ExecuteNonQuery();//執(zhí)行命令并返回受影響的行數(shù) Response.Write("更新記錄成功!共影響行數(shù)為:" + m); Response.Write("<br>"); //查詢數(shù)據(jù) cmdSelect = new SqlCommand("select * from info", myconn); dr1 = cmdSelect.ExecuteReader();//執(zhí)行命令并返回生成的DataReader while (dr1.Read()) { Response.Write(dr1["name"]); Response.Write(dr1["sex"]); Response.Write("<br>"); } dr1.Close(); //刪除數(shù)據(jù) SqlCommand cmdDelete = new SqlCommand("delete info where name='王五'", myconn); int t = cmdDelete.ExecuteNonQuery();//執(zhí)行命令并返回受影響的行數(shù) Response.Write("刪除記錄成功!共影響行數(shù)為:" + t); Response.Write("<br>"); myconn.Close(); 4.向配置文件 Web.config 中添加如下代碼: <connectionStrings> <remove name="LocalSqlServer" /> <add name="SqlConnStr" connectionString="uid=sa;pwd=asdf;initial catalog=test;server=." /> </connectionStrings> <appSettings> <add key="connstring" value="uid=sa;pwd=asdf;database=test;server=(local)" /> </appSettings> ============================================= 下面是對(duì)配置文件中連接串的解釋: "user id=sa": 連接數(shù)據(jù)庫的驗(yàn)證用戶名為sa。他還有一個(gè)別名"uid",所以這句我們還可以寫成"uid=sa"。 "password=": 連接數(shù)據(jù)庫的驗(yàn)證密碼為空。他的別名為"pwd",所以我們可以寫為"pwd="。 這里注意,你的SQL Server必須已經(jīng)設(shè)置了需要用戶名和密碼來登錄,否則不能用這樣的方式來登錄。 如果你的SQL Server設(shè)置為Windows登錄,那么在這里就不需要使用"user id"和"password"這樣的方式來登錄, 而需要使用"Trusted_Connection=SSPI"來進(jìn)行登錄。 "initial catalog=Northwind": 使用的數(shù)據(jù)源為"Northwind"這個(gè)數(shù)據(jù)庫。他的別名為"Database",本句可以寫成"Database=Northwind"。 "Server=YourSQLServer": 使用名為"YourSQLServer"的服務(wù)器。他的別名為"Data Source","Address","Addr"。 如果使用的是本地?cái)?shù)據(jù)庫且定義了實(shí)例名,則可以寫為"Server=(local)\實(shí)例名";如果是遠(yuǎn)程服務(wù)器,則將"(local)"替換為遠(yuǎn)程服務(wù)器的名稱或IP地址。 "Connect Timeout=30": 連接超時(shí)時(shí)間為30秒。
|
|