DropDownList 和Datagrid如何绑定?

wejiyu 2006-08-25 11:26:06
我准备从DropDownList里选择一个用户名,按Button,相关数据将显示在Datagrid中,我的代码如下:
string Content = String.Empty;

string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("test.MDB");
OleDbConnection myConn = new OleDbConnection(strConn);
OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"");
OleDbDataAdapter adapter = new OleDbDataAdapter(myComm);

myConn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(myComm);
da.Fill(ds);
myConn.Close();
this.DataGrid1.DataSource = ds;
this.DataGrid1.DataBind();
this.DataGrid1.Visible = true;
但总提示da.Fill(ds);有问题,我想麻烦各位大侠帮我看一下,哪里做的不太对,如何更改?谢谢
...全文
220 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gezichong 2006-08-25
  • 打赏
  • 举报
回复
OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"");
改成:
OleDbCommand myComm.CommandText="select *from smsout where [content] like '%"+DropDownLIst1.SelectedItem.Text+"'";
try......
leonbingo 2006-08-25
  • 打赏
  • 举报
回复
OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"");

你的这个命令没有指定Connection,所以错误,呵呵
lwjvince 2006-08-25
  • 打赏
  • 举报
回复
先绑定下拉框,然后根据选择的下拉框值 写按钮事件就可以了
下面是下拉框绑定的函数

private void BindDropList()
{
dbase.OpenDataBase(conn);
comm.Connection=conn;
string [] sql=new string[]{"select a0 项目包ID,a2 项目包名称,a1 项目编号 from wy10018 where a53='3' and a0<>0 order by a0" };
string [] tb=new string[]{"dptable"};
if(dbpro.Get_NewDataSet2(sql,tb,ref ds))
{
if(drp1!=null)
{
drp1.DataTextField="项目包名称";
drp1.DataValueField="项目包ID";
drp1.DataSource=ds.Tables["dptable"].DefaultView;
drp1.DataBind();
drp1.SelectedIndex=drp1.Items.IndexOf(drp1.Items.FindByValue(ds.Tables["dptable"].Rows[0]["项目包ID"].ToString()));
}
}
dbase.CloseDataBase(conn);
}


wejiyu 2006-08-25
  • 打赏
  • 举报
回复
Fill: SelectCommand.Connection property has not been initialized.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Fill: SelectCommand.Connection property has not been initialized.

Source Error:
csShooter 2006-08-25
  • 打赏
  • 举报
回复
换用DataGridView
huangjinyin 2006-08-25
  • 打赏
  • 举报
回复
da.Fill(ds,"tablename");看一下行不行
worms8888 2006-08-25
  • 打赏
  • 举报
回复
WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"'")
少个"'"
zhangaipl 2006-08-25
  • 打赏
  • 举报
回复
什么错,帖出来看看。
wejiyu 2006-08-25
  • 打赏
  • 举报
回复
楼上正解,谢谢!
antiking 2006-08-25
  • 打赏
  • 举报
回复
同意楼上的.一看就是sql语句有问题.也没有连接.
Reeezak 2006-08-25
  • 打赏
  • 举报
回复
Exception Details: System.InvalidOperationException: Fill: SelectCommand.Connection property has not been initialized.

就是说你的这个OleDBCommand还没有连接信息

所以,加上这局到
OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"");
后面
myComm.Connection = myConn;
Yellow198267 2006-08-25
  • 打赏
  • 举报
回复
OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"%'");
zhangaipl 2006-08-25
  • 打赏
  • 举报
回复
OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"");


OleDbCommand myComm = new OleDbCommand("SELECT * FROM SMSOUT WHERE [Content] like '%"+DropDownList1.SelectedItem.Text+"",myConn);

110,536

社区成员

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

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

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