之前用過Gridview + DetailsView 新增資料
http://anandydy529.blogspot.com/2011/12/gridview.html
最近又學到Gridview + Textbox
第二種的優點是表單輸入比較彈性,也可以多行輸入
就讓我們開始吧
(以下點圖放大)
假設我要弄通訊錄,先在Access上做一個空白資料表
然後隨便弄個AA當主索引,主索引要設為自動編號
從工具箱拉出DropDownlist、ListBox、TextBox
Gridview和Sql來源設定請參考前一篇
要增加DropDownlist、ListBox的設定如下圖
先點一下SqlDataSource,再到屬性那邊找到InsertQuery,點那個口
指定Sql和輸入的連結,主索引也可以在這邊刪除
設定完後會看到每個資料都有對應的輸入項
從工具箱拉出一個LinkButton來當新增鈕
改顯示名稱是在右邊屬性的Text
然後對這個LinkButton點滑鼠左鍵兩下
要寫新增資料的程式
在LinkButton的程式中加入這段
'新增資料
SqlDataSource1.Insert()
'新增資料後清空
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
為什麼要設定新增資料後清空?
因為新增完後原本的Textbox還會有資料
這樣要一直新增資料會很麻煩
這段加上去基本的就完成囉
用瀏覽器檢視測試看看
蝦米!"INSERT INTO 陳述式的語法錯誤。 "
原來是資料庫中出現保留碼
微軟有列出保留碼清單
http://support.microsoft.com/kb/286335/en-us
回到Access把保留碼改成別的
我是改成中文啦,這樣就沒有保留碼的問題
然後上面的步驟再做一次確定連結的設定有沒有跳掉
蝦米!"索引或主索引鍵不可包含 Null 值。 "
重新設定Sql後GridView會重製,所以要把主索引砍乾淨
怎麼砍上一篇最後有說明了
如果砍完還是出現"索引或主索引鍵不可包含 Null 值。 "
那對你的Access檔點右鍵→內容
新增一個Everyone的權限
如果你問我為什麼你的內容沒有安全性這東西
請看下圖
記得給Everyone開啟權限
如果還是有問題,還可以看看主索引是不是自動編號
弄這個小問題真多...
這樣就完成啦
沒想到居然那麼麻煩
下次再介紹如何多行輸入
第一次用GridView新增資料就上手
http://anandydy529.blogspot.com/2011/12/gridview.html
第一次用GridView新增資料就上手 Part2
http://anandydy529.blogspot.com/2012/03/gridview-part2.html
第一次做TextBox多行輸入就上手
http://anandydy529.blogspot.tw/2012/03/textbox.html
沒有留言:
張貼留言