在asp.net中操作sql server數(shù)據(jù)庫的一些小技巧
1.給數(shù)據(jù)庫語句參數(shù)傳遞
向數(shù)據(jù)庫操作語句傳遞參數(shù)可以通過存儲(chǔ)過程實(shí)現(xiàn),這里給出另外兩種簡便易捷的方法:
可以在C#中通過字符串操作將參數(shù)直接傳入SQL語句變量中,例如:
string s="Davolio";
string sql= "select * from employees where LastName="+"'"+s+"'"
相當(dāng)于寫入SQL語句:
select * from employees where LastName='Davolio'
也可以通過thisCommand.Parameters.Add()方法實(shí)現(xiàn),如下所示:
string s="Davolio";
SqlConnection thisConnection=new SqlConnection
("Data Source=(local);Initial Catalog=Northwind;UID=sa;PWD=");
thisConnection.Open ();
SqlCommand thisCommand=thisConnection.CreateCommand ();
thisCommand.CommandText =
" select * from employees where LastName=@charname";
thisCommand.Parameters.Add("@charname",s);
可以看到,字符串s將參數(shù)“Ddbolio”傳遞給數(shù)據(jù)庫操作語句中的參數(shù)charname。
2.將數(shù)據(jù)庫中不同表內(nèi)的數(shù)據(jù)讀入到數(shù)據(jù)集DataSet中
SqlDataAdapter的Fill方法可以填充已知數(shù)據(jù)集,并且為每個(gè)填充項(xiàng)創(chuàng)建一個(gè)臨時(shí)表,可以通過對(duì)該表的訪問來讀取數(shù)據(jù)集中的相關(guān)數(shù)據(jù)。其相關(guān)操作如下所示:
SqlConnection thisConnection=new SqlConnection
("Data Source=(local);Initial Catalog=Northwind;UID=sa;PWD=");
try
{
thisConnection.Open ();
}
catch(Exception ex)
{
thisConnection.Close ();
}
string sql1="select * from employees";
string sql2="select * from Customers";
SqlDataAdapter sda=new SqlDataAdapter(sql1,thisConnection);
DataSet ds= new DataSet();
sda.Fill(ds,"myemployees");
sda.Dispose();
SqlDataAdapter sda1=new SqlDataAdapter(sql2,thisConnection);
sda1.Fill(ds,"myCustomers");
sda1.Dispose();
string t1=ds.Tables["myemployees"].Rows[0]["Hiredate"].ToString();
string t2=ds.Tables["myCustomers"].Rows[0]["ContactTitle"].ToString();
Page.RegisterStartupScript("aa","<script language=javascript>alert('t1="+t1+",t2="+t2+"');</script>");
可以看到,在數(shù)據(jù)集ds中新生成了兩個(gè)臨時(shí)表“myemployees”和“myCustomers”。為驗(yàn)證這兩個(gè)表中數(shù)據(jù)確實(shí)已讀入數(shù)據(jù)集ds中,通過數(shù)據(jù)讀取操作將表“myemployees”中對(duì)應(yīng)于屬性“Hiredate”的第一行賦值給字符型變量t1,將表“myCustomers”中對(duì)應(yīng)于屬性“ContactTitle”的第一行賦值給字符型變量t2,并通過JavaStript函數(shù)“alert()”將這些變量顯示到彈出窗口中。Page.RegisterStartupScript方法用于發(fā)出客戶端腳本塊,其第一個(gè)參數(shù)為標(biāo)志位,用戶可以任意選取,第二個(gè)參數(shù)為JavaScript腳本,這里alert函數(shù)用來彈出MessageBox對(duì)話框,我們將參數(shù)t1和t2傳入該腳本中,使其在MessageBox中顯示出來。
ps:由于網(wǎng)絡(luò)速度太慢,不能將相關(guān)的顯示圖表傳到服務(wù)器,真一大遺憾。還有不知道編寫代碼的樣式和格式,使得給出的代碼顯得很零亂。
相關(guān)文章
IIS中ASP.NET連接SQL Server出錯(cuò)的解決方法
在IIS中運(yùn)行的ASP.NET應(yīng)用程序其所屬用戶名為ASPNET的特定用戶,其默認(rèn)權(quán)限是無法訪問SQL Server的,更不可能訪問ASP.NET應(yīng)用程序的數(shù)據(jù)庫了,因此要在IIS中訪問SQL Server就需要給ASPNET帳戶賦予相應(yīng)的權(quán)限.2010-03-03Hangfire在ASP.NET CORE中的簡單實(shí)現(xiàn)方法
下面小編就為大家分享一篇Hangfire在ASP.NET CORE中的簡單實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-11-11Entity?Framework?Core關(guān)聯(lián)刪除
關(guān)聯(lián)刪除通常是一個(gè)數(shù)據(jù)庫術(shù)語,用于描述在刪除行時(shí)允許自動(dòng)觸發(fā)刪除關(guān)聯(lián)行的特征;即當(dāng)主表的數(shù)據(jù)行被刪除時(shí),自動(dòng)將關(guān)聯(lián)表中依賴的數(shù)據(jù)行進(jìn)行刪除,或者將外鍵更新為NULL或默認(rèn)值。本文將為大家具體介紹一下Entity?Framework?Core關(guān)聯(lián)刪除,需要的可以參考一下2021-12-12asp.net實(shí)現(xiàn)遞歸方法取出菜單并顯示在DropDownList中(分欄形式)
這篇文章主要介紹了asp.net實(shí)現(xiàn)遞歸方法取出菜單并顯示在DropDownList中的方法,涉及asp.net遞歸算法與DropDownList使用技巧,需要的朋友可以參考下2016-06-06ASP.NET?MVC5?網(wǎng)站開發(fā)框架模型、數(shù)據(jù)存儲(chǔ)、業(yè)務(wù)邏輯(三)
上次搭建好了項(xiàng)目框架,但還是覺得不太對(duì)勁,后來才想起來沒有對(duì)開發(fā)目標(biāo)進(jìn)行定位,這個(gè)小demo雖然不用做需求分析,但是要實(shí)現(xiàn)什么效果還得明確。后來想了一下就做個(gè)最簡單的網(wǎng)站,目標(biāo)定為小公司進(jìn)行展示用的網(wǎng)站。功能有顯示用的文章功能,咨詢留言,評(píng)論等2015-09-09