2013-02-20 30 views
0

我在Visual Web Developer 2008 Express Edition中工作。我有一系列從我的SQL Server 2008數據庫生成的6個下拉列表。我也有一個網格視圖,根據兩個下拉列表選擇顯示數據庫中的行。從Visual Web開發人員將字段插入到SQL Server中

這是有效的,但我需要移動一步。使用相同的六個下拉列表,我需要更新表格。主鍵實際上是網頁上的六列。

理想情況下,我想讓用戶從下拉列表中選擇信息,並點擊一個按鈕,將行插入到數據庫中。然後刷新網格視圖以確認插入。

我試圖使用我用來創建網格視圖的教程的詳細信息視圖。

所以我最終的問題是,我如何將SQL INSERT語句附加到按鈕上並讓按鈕既可以插入數據庫又可以刷新網格視圖?

+0

爲什麼不在按鈕單擊事件上調用'stored-procedure',如果成功,請重新加載網格?如果您需要更多信息,請查看[如何在ASP.NET中調用SQL Server存儲過程](http://support.microsoft.com/kb/306574) – 2013-02-20 18:14:15

回答

1

,如果你使用的是SQL數據源,然後在button_click事件傳遞

SQLDataSource1.InsertParameters["ParameterName"].DefaultValue = +yourvalue+; 
//use this command to pass in all your values 
try 
{ 
SQLDataSource1.Insert(); 
GridView1.DataBind(); 
} 
catch (Exception ex) 
{ 
// Deal with the exception if encountered here. 
} 
+0

我的數據源稱爲DataMaster。這與我用於GridView的數據源相同。我在asp.cs文件中輸入了按鈕更新,內容如下 31行:protected void btnUpdate_Click(object sender,EventArgs e) 32行:DataMaster.InsertParameters [「Ref」]。DefaultValue = dlRef.SelectedValue ; 還有其他的參數,但我得到以下錯誤:System.NullReferenceException:對象引用未設置爲對象的實例。 我也嘗試過使用與dlRef相關的其他值(參數REF – 2013-02-20 22:20:22

+0

的下拉列表是否已在下拉列表中啓用了自動回覆功能?因爲您的對象dl.ref正在從selectedvalue返回空值給您的代碼。通過在頁面上添加一個標籤並設置值 – 2013-02-21 00:28:55

+0

label1.text = dlRef.SelectedValue;然後檢查當您從下拉列表中選擇不同的值時該值是否發生了變化,如果它沒有,那麼autopostback是不工作 – 2013-02-21 00:31:15

0

你必須需要做一個單獨的函數用於填充網格,讓函數的名稱是「POPULATEGRIDVIEW()」。在這個功能,你會寫代碼綁定一個GridView ......之後產生Button1_Clik事件然後寫入插入查詢的代碼,就像我給一個例子

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string query="insert into emp values('"+ddl1.text+"','"+ddl2.text+"') "; 
    SqlCommand cmd=new SqlCommand(query,con); 
    con.Open(); 
    if((cmd.ExecuteNonQuery)==True) 
    { 
     POPULATEGRIDVIEW(); 
    } 
    else 
    { 
     MessageBox.Show("Some Problem Occure in Insertion ") 
    } 
} 

試試看....

相關問題