散分:我用 DataGrid绑定数据表,删除一条记录后再重新绑定,DataGrid为什么自动不能更新啊

yanfng 2003-09-29 04:51:52
我用 DataGrid绑定数据表,不能更新啊,显示不出来被删掉的情况,只有重新运行才能看到被删掉了代码如下:
string conn="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =E:\\database\\lqjt.mdb";
string query="delete from biao where 姓名='"+textBox1.Text+"'";
OleDbConnection myconn=new OleDbConnection(conn);
myconn.Open();
OleDbCommand myCommand = new OleDbCommand ( query , myconn);
adapter.SelectCommand=new OleDbCommand(query,myconn);
myCommand.ExecuteNonQuery ( );
dataGrid1.DataSource=mydataset.Tables["biao"].DefaultView;
dataGrid1.SetDataBinding;
myconn.Close( );
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanfng 2003-10-23
  • 打赏
  • 举报
回复
谢谢各位,我的问题解决了
honghaozi 2003-09-30
  • 打赏
  • 举报
回复
绑定的对象是一个结果集,而不是数据库中的纪录。
所以,只有结果集更新了你才会看到结果。
sea2sea 2003-09-29
  • 打赏
  • 举报
回复
dataGrid1.DataSource=mydataset.Tables["biao"].DefaultView;
dataGrid1.SetDataBinding;
这两句改为
dataGrid1.SetDataBinding(myDataSet,"biao");
试试.
竹君子 2003-09-29
  • 打赏
  • 举报
回复
要重新绑顶的啊,函数的系统参数要加上的啊
object sender和DataGridCommandEventArgs e
比如我写的删除函数:
<asp:datagrid id="dgrd" runat="server" DataKeyField="QuestionID" OnEditCommand="EditCommand" OnUpdateCommand="UpdateCommand" OnCancelCommand="CancelCommand" AutoGenerateColumns="false" ShowFooter="True" OnItemCommand="ItemCommandHandler" OnItemCreated="ItemCreated" PageSize="5" OnPageIndexChanged="dgrd_PageIndexChanged" AllowPaging="True" ShowHeader="True" Width="100%"/>
public void ItemCommandHandler(object sender,DataGridCommandEventArgs e)
{
if (e.CommandName=="deleteinfo")
{
int index=dgrd.CurrentPageIndex;



int nQuestionID=(int)dgrd.DataKeys[e.Item.ItemIndex];
string strConnection = ConfigurationSettings.AppSettings["SQLConnectionString"];
SqlConnection conn = new SqlConnection(strConnection);



conn.Open(); //打开数据库
String strcmd2="delete from Answer where QuestionID='"+nQuestionID+"'";
SqlCommand cmd2=new SqlCommand(strcmd2,conn);
cmd2.ExecuteNonQuery();
String strcmd1="delete from GroupQuestion where QuestionID='"+nQuestionID+"'";
SqlCommand cmd1=new SqlCommand(strcmd1,conn);
cmd1.ExecuteNonQuery();
String strcmd="delete from QuestionInfo where QuestionID='"+nQuestionID+"'";
SqlCommand cmd=new SqlCommand(strcmd,conn);
cmd.ExecuteNonQuery();
dgrd.DataSource = CreateDataSource();

if(IsLastPage())
{
dgrd.CurrentPageIndex--;}
dgrd.DataBind();
conn.Close();




}
}
Reeezak 2003-09-29
  • 打赏
  • 举报
回复
this.adapter.Fill(mydataset,"biao");
Reeezak 2003-09-29
  • 打赏
  • 举报
回复
重新用adapter去把mydataset fill一下
herofyf 2003-09-29
  • 打赏
  • 举报
回复
你没有用相应的CommandBuilder产生相应的修改、删除的sql语句啊!当然不能更新啊!

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧