從零開始學(xué)ASP.NET-基礎(chǔ)篇第7/7頁
更新時間:2006年07月12日 00:00:00 作者:
第八天
學(xué)習(xí)目的
在鯨魚這幾天忙死了,好幾天沒寫了,真對不起各位。這幾天讓XHTML鬧得不開心,雖然以前也知道這個,但沒太在意??涩F(xiàn)在我是如夢初醒,我發(fā)覺XHTML是個信號,所以這幾天不得不仔細(xì)研究一下這個。很笨,我還沒發(fā)覺XHTML的奧妙。確實如此,沒上過臺面,真不知這桌菜怎樣好吃。少說了,回到正題。
先把以前的Command的CommandText重新寫過:
cmd.CommandText = "INSERT INTO NewsArticle (Title, SubTitle, Writer, Content)"
+ " valueS ( @Title, @SubTitle, @Writer, @Content )";
這樣代碼是否很清晰了,我們可以避免一大串的難以看懂的的語句了。
接下來,我們就給這些定位符賦予屬性和值了:
cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@SubTitle", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@Writer", SqlDbType.NVarChar, 10);
cmd.Parameters.Add("@Content", SqlDbType.NText);
以上我們給每個占位符定義一個值類型,相信不難看懂吧。接者再給于值:
cmd.Parameters["@Title"].value = txtTitle.Text.Trim();
if (txtSubTitle.Text == string.Empty || txtSubTitle.Text.Trim() == "")
{
cmd.Parameters["@SubTitle"].value = DBNull.value;
}
else
{
cmd.Parameters["@SubTitle"].value = txtSubTitle.Text.Trim();
}
if (txtWriter.Text == string.Empty || txtWriter.Text.Trim() == "")
{
cmd.Parameters["@Writer"].value = DBNull.value;
}
else
{
cmd.Parameters["@Writer"].value = txtWriter.Text;
}
cmd.Parameters["@Content"].value = txtContent.Text;
其實,也可以這樣寫:
cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50) .value = txtTitle.Text.Trim();
這要看你喜歡了。 不錯吧,程序是否很有條理。
程序代碼:
private void btnPublish_ServerClick(object sender, System.EventArgs e)
{
string strConnection = ConfigurationSettings.AppSettings["SqlDatabase1"];
// 連接SqlServer數(shù)據(jù)庫
SqlConnection conn = new SqlConnection(strConnection);
// 建立SqlCommand
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "INSERT INTO NewsArticle (Title, SubTitle, Writer, Content)"
+ " valueS ( @Title, @SubTitle, @Writer, @Content )";
conn.Open();
cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@SubTitle", SqlDbType.NVarChar, 50);
cmd.Parameters.Add("@Writer", SqlDbType.NVarChar, 10);
cmd.Parameters.Add("@Content", SqlDbType.NText);
cmd.Parameters["@Title"].value = txtTitle.Text.Trim();
if (txtSubTitle.Text == string.Empty || txtSubTitle.Text.Trim() == "")
{
cmd.Parameters["@SubTitle"].value = DBNull.value;
}
else
{
cmd.Parameters["@SubTitle"].value = txtSubTitle.Text.Trim();
}
if (txtWriter.Text == string.Empty || txtWriter.Text.Trim() == "")
{
cmd.Parameters["@Writer"].value = DBNull.value;
}
else
{
cmd.Parameters["@Writer"].value = txtWriter.Text;
}
cmd.Parameters["@Content"].value = txtContent.Text;
// 插入記錄
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Response.Write("<script language=javascript>alert("輸入錯誤,數(shù)據(jù)庫不能更新。")</script>");
}
finally
{
conn.Close();
}
}
您可能感興趣的文章:
- [ASP.NET Ajax] ECMAScript基礎(chǔ)類以及Asp.net Ajax對類<Object>的擴(kuò)展
- ASP.net基礎(chǔ)知識之常見錯誤分析
- ASP.NET 2.0 程序安全的基礎(chǔ)知識
- ASP.NET中實現(xiàn)文件的保護(hù)性下載基礎(chǔ)篇
- ASP.NET MVC基礎(chǔ)
- ASP.NET MVC小結(jié)之基礎(chǔ)篇(一)
- ASP.NET MVC小結(jié)之基礎(chǔ)篇(二)
- ASP.NET母版頁基礎(chǔ)知識介紹
- ASP.NET 5已終結(jié),迎來ASP.NET Core 1.0和.NET Core 1.0
相關(guān)文章
ASP.NET?Core使用功能開關(guān)控制路由訪問操作
這篇文章主要介紹了ASP.NET?Core使用功能開關(guān)控制路由訪問操作,而對于一些試驗性的功能,我們并不希望用密碼去控制是否允許訪問,而是想用一種開關(guān)的方式開放,下面文章我們就來試著實現(xiàn)這個功能,需要的小伙伴可以參考一下2022-02-02ASP.NET?Core使用功能開關(guān)控制路由訪問操作(續(xù))
這篇文章主要介紹了ASP.NET?Core使用功能開關(guān)控制路由訪問操作的(續(xù)),上一篇文章我們已經(jīng)介紹過一部份該相關(guān)內(nèi)容,??在本文,我們可以判斷當(dāng)前路由地址是否為調(diào)試地址,讓評估返回真,需要的小伙伴可以參考一下2022-02-02ASP.NET Core MVC 依賴注入View與Controller
本文重點給大家介紹的是ASP.NET Core MVC 之依賴注入 View 和ASP.NET Core MVC 之依賴注入 Controller的相關(guān)資料,需要的小伙伴可以參考下面文章具體內(nèi)容2021-09-09HttpResponse的Output與OutputStream、Filter關(guān)系與區(qū)別介紹
在網(wǎng)上經(jīng)常看見有這樣的代碼HttpResponse response = HttpContext.Current.Response;現(xiàn)在我也來說說這幾個東東是什么吧2012-11-11.net程序開發(fā)IOC控制反轉(zhuǎn)和DI依賴注入詳解
這篇文章主要為大家介紹了.net程序開發(fā)IOC控制反轉(zhuǎn)和DI依賴注入示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11ASP.NET?Core?6最小API中使用日志和DI示例詳解
這篇文章主要為大家介紹了ASP.NET?Core?6最小API中使用日志和DI示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08