iT邦幫忙

DAY 7
1

給學弟的ASP.NET網頁學習經驗系列 第 7

ASP.NET學習經驗#7----點一點滑鼠SqlDataSource就可以完成新增(Insert)資料的功能?

繼續使用上一篇使用的SqlDataSource能實作將網頁的基本資料新增(Insert)到資料庫上!!(點一點很方便的)

首先在屬性裡找到InsertQuery屬性

在設置我們要的SQL指令也可以使用裡頭的查詢產生器

點選資料表與資料欄位就可以產生Insert into.....指令

可以發現我的新值是使用『@XXX』

這是是用來取得參數的,在參數欄裡要設定對應的控制項

參數來源就是對應網頁上的控制項

選擇一下進階屬性可以發現DbType與Type兩個讓人霧傻傻的屬性,因為執行後不會出錯

對於像我這樣的初學者就忽略了它(好吧..可能只有我!)

這是因為資料庫在背後幫忙校正成了正確的參數型別,卻也拖慢資料庫執行時間!!

DbType:從C#/VB傳入資料庫時的參數型態

Type:從資料庫傳入C#/VB時的參數型態

設定完成後,剩下最重要的讓Button觸發Insert事件:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    try
    {
        SqlDataSource1.Insert();
        lbResult.Text = "新增完成";
    }
    catch
    {
        lbResult.Text = "Error!";
    }
}

這樣點一點打不到幾行Code就完成新增功能囉!!!(我也是第一次這樣做...雖然未能完成檔案上傳)

接下來要使用CodeBehind的SqlConnection來實作這項功能

(我比較喜歡這樣做,多打點程式碼好像比較有Fu)

.....To Be Continued


上一篇
ASP.NET學習經驗#6----開啟寶藏(資料庫)的鑰匙(connectionStrings)
下一篇
ASP.NET學習經驗#8----打一打鍵盤SqlConnection掌握資料庫連接
系列文
給學弟的ASP.NET網頁學習經驗30

2 則留言

0
arthurwuwjs
iT邦新手 5 級 ‧ 2014-09-22 21:48:14

您的"附件"是搭配fileupload嗎?
如果是的話,sqldatasource不能運作,新增會失敗
檔案無法上傳

Ben iT邦新手 3 級 ‧ 2014-09-23 01:16:29 檢舉

我還沒有實作fileupload

因為我知道FileUpload不好使喚
所以只是先做了sqlDataSourse的基本操作能夠Insert

很抱歉在文章內沒說清楚!!!

0
mis2000lab
iT邦好手 1 級 ‧ 2014-09-22 23:28:55

這個範例我的書本與BLOG也有分享過,最早是看見章立民老師的書有這個範例。但章老師的書直接在畫面(.aspx)Coding,直接寫<SqlDataSource> 參數標籤。

我覺得不可思議,這很難死背。所以耐心找了一下SqlDataSource 的屬性,就找到了更簡單的設定方法,但結果相同。可以參閱我這篇文章 --
ADO.NET #4(改),自己設定輸入畫面,讓SqlDataSource幫我們完成「新增」一筆資料
http://www.dotblogs.com.tw/mis2000lab/archive/2008/09/19/sqldatasource\_20080919.aspx

另外,這個作法要搭配FileUpload控制項做檔案上傳,的確會出問題。問題與解法我也分享給大家參考。一起加油! ^_^
FileUpload FormView(或DetailsView)看似簡單,但不好做 #1--初學者的盲點
http://www.dotblogs.com.tw/mis2000lab/archive/2012/11/26/formview\_detailsview\_fileupload\_20121126.aspx(共有兩篇文章)

Ben iT邦新手 3 級 ‧ 2014-09-23 01:17:04 檢舉

沒想到前輩也是一樣,因為我總是用SqlConnection來實作一切

晚上剛要開始動手時就想想精靈有沒有比較方便的設置

就如同前輩翻一翻,找了一樣的方法!!哈哈 好開心

我要留言

立即登入留言