大家好,小弟求教一个问题。
我想实现这样的功能:当我在DropDownList1的下拉列表中选定某一项后,点右边的按纽“查询”,然后,存储在表gsmb中的数据即可被写入下面的几个TextBox和DropDownList控件中,但总是只能显示第一条数据的,当选择其它数据时,马上DropDownList1的选定的内容就又变成第一条记录了。请赐教。下面是按纽“查询”的代码:
private void Button4_Click(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection(); conn.ConnectionString= //从配置文件中获取信息
ConfigurationSettings.AppSettings["ConnectionString"];
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn; string SQLstr="Select * from gsmb where mubiaoID=@ID";
cmd.CommandText=SQLstr;
cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.VarChar,50));
cmd.Parameters["@ID"].Value=DropDownList1.SelectedItem.Text;
conn.Open();
SqlDataReader reader;
reader=cmd.ExecuteReader();
//设置控件属性以显示信息
while(reader.Read()) //使前进到并读取下一条记录.
{
if(reader.GetDateTime(1).ToString()!="") //注意数据类型
this.txt_qishi.Text=reader.GetDateTime(1).ToString();
if(reader.GetDateTime(2).ToString()!="") //注意数据类型
this.txt_zhongzhi.Text=reader.GetDateTime(2).ToString();
if(reader.GetString(3)!="")
this.txt_gsbida.Text=reader.GetString(3);
if(reader.GetString(4)!="")
this.txt_gstiaozhan.Text=reader.GetString(4);
this.ddl_gsbida.SelectedItem.Text=reader.GetString(5);
this.ddl_gstiaozhan.SelectedItem.Text=reader.GetString(6);
this.ddl_buzhou.SelectedItem.Text=reader.GetInt32(7).ToString(); //注意数据类型
}
reader.Close();
conn.Close();
}
真诚求教。谢谢!
我想实现这样的功能:当我在DropDownList1的下拉列表中选定某一项后,点右边的按纽“查询”,然后,存储在表gsmb中的数据即可被写入下面的几个TextBox和DropDownList控件中,但总是只能显示第一条数据的,当选择其它数据时,马上DropDownList1的选定的内容就又变成第一条记录了。请赐教。下面是按纽“查询”的代码:
private void Button4_Click(object sender, System.EventArgs e)
{
SqlConnection conn=new SqlConnection(); conn.ConnectionString= //从配置文件中获取信息
ConfigurationSettings.AppSettings["ConnectionString"];
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn; string SQLstr="Select * from gsmb where mubiaoID=@ID";
cmd.CommandText=SQLstr;
cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.VarChar,50));
cmd.Parameters["@ID"].Value=DropDownList1.SelectedItem.Text;
conn.Open();
SqlDataReader reader;
reader=cmd.ExecuteReader();
//设置控件属性以显示信息
while(reader.Read()) //使前进到并读取下一条记录.
{
if(reader.GetDateTime(1).ToString()!="") //注意数据类型
this.txt_qishi.Text=reader.GetDateTime(1).ToString();
if(reader.GetDateTime(2).ToString()!="") //注意数据类型
this.txt_zhongzhi.Text=reader.GetDateTime(2).ToString();
if(reader.GetString(3)!="")
this.txt_gsbida.Text=reader.GetString(3);
if(reader.GetString(4)!="")
this.txt_gstiaozhan.Text=reader.GetString(4);
this.ddl_gsbida.SelectedItem.Text=reader.GetString(5);
this.ddl_gstiaozhan.SelectedItem.Text=reader.GetString(6);
this.ddl_buzhou.SelectedItem.Text=reader.GetInt32(7).ToString(); //注意数据类型
}
reader.Close();
conn.Close();
}
真诚求教。谢谢!
// 这里 ....
}
// 这里 ....
}
if(!Page.IsPostBack)
{
}
里,另外DropDownList1的AutoPostBack属性是否被设为True了又或者你是在DropDownList1_SelectedIndexChanged事件里绑定的数据
{}
里,不行呀,又设置AutoPostBack属性为True,但还是不行呀?请问是不是跟下面这个问题相关。下面是我的初始页面载入代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
SqlConnection conn=new SqlConnection();
conn.ConnectionString=
ConfigurationSettings.AppSettings["ConnectionString"];
conn.Open();
SqlCommand cmd= new SqlCommand();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;
cmd.CommandText="select mubiaoID from gsmb"; //该句必不可少,否则会显示"CommandText未初始化"的错误.
SqlDataReader myDataReader;
myDataReader=cmd.ExecuteReader();//调用cmd对象的ExecuteReader()方法生成 myDataReader
//下面的代码用于将表gsmb中主键mubiaoID的值加入到下拉菜单DropDownList1的列表中.
this.DropDownList1.Items.Clear();
while (myDataReader.Read())
{
this.DropDownList1.Items.Add(myDataReader.GetString(0));
}
myDataReader.Close();
}
我除了这些代码之外再没有关于DropDownList1控件的任何代码,Item属性也仅设置了一个“请选择”,我是不是没有绑定数据?有必要吗?怎样绑定(右边属性拦)?谢谢。
{}
----------------------------------
在哪里,没看到我是不是没有绑定数据?有必要吗?怎样绑定(右边属性拦)?
-------------------------
-_-#...
private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
// 在此处放置用户代码以初始化页面
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
ConfigurationSettings.AppSettings["ConnectionString"];
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select mubiaoID from gsmb"; //该句必不可少,否则会显示"CommandText未初始化"的错误.
SqlDataReader myDataReader;
myDataReader = cmd.ExecuteReader();//调用cmd对象的ExecuteReader()方法生成 myDataReader //下面的代码用于将表gsmb中主键mubiaoID的值加入到下拉菜单DropDownList1的列表中.
this.DropDownList1.Items.Clear();
while (myDataReader.Read())
{
this.DropDownList1.Items.Add(myDataReader.GetString(0));
}
myDataReader.Close(); }
}