2013-02-20 34 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 ") 
    } 
} 

试试看....

相关问题