可以先显示dataGrid1中的内容,通过点击dataGrid1中选中行,就可一得到你想要的
下面的程序中,显示学生的信息,有sno,sname,sex ,在窗体上放置三个textbox
/*下面的一段程序功能是:动态获取dataGrid1中选中行的各字段的值*/
private void dataGrid1_CurrentCellChanged(object sender, EventArgs e)
{
string myID = dataGrid1[dataGrid1.CurrentCell.RowNumber, 0].ToString().Trim();
SqlConnection cn = new SqlConnection("Data Source=localhost;Initial Catalog=student;Integrated Security=True");
SqlCommand cmd = new SqlCommand("Select * From student where ID='" + myID + "'", cn);
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
this.textBox1.Text = dr["sno"].ToString();
this.textBox2.Text = dr["sname"].ToString();
this.textBox3.Text = dr["sex"].ToString();
}
dr.Close();
cn.Close();
}
海鸽 is My Lover!!
2007-2-9 10:50:31
wongjay
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-9-21
第 3 楼
得分:0
谢谢 liuminghui 的帮助
这样是个不错的方法,但是要加一个dataGrid控件,如果我窗口中不加这个控件就没办法了吗?
我只是想把一个数据显示出来,加一个dataGrid显得累赘啊.不知道把dataGrid隐藏可不可以呢,反正我查询的结果也只有一条数据.......但隐藏了怎么选则那一条数据呢
[此贴子已经被作者于2007-2-9 11:06:28编辑过]
2007-2-9 11:04:38
liuminghui
等 级:贵宾
威 望: 20
帖 子:2882
专家分:0
注 册:2007-1-26
第 4 楼
得分:0
我明白你的意思,你想直接显示一条数据库中的内容到textbox中,
这个问题我也没有弄出来啊,我很想知道,我们一起顶吧!!
海鸽 is My Lover!!
2007-2-9 11:15:50
来 自:XAplus
等 级:贵宾
威 望: 32
帖 子:1768
专家分:104
注 册:2006-11-3
第 5 楼
得分:0
将READER 或DATASET的某个值可以直接赋给LABLE啊。
XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-2-9 11:56:31
wongjay
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-9-21
第 6 楼
得分:0
终于让我试出来了 分享一下
//定义一个函数利用存储过程从数据库中读出数据.当然也可以不用存储过程
public static System.Data.DataRow chaxun1(string Name,string Type)
{
System.Data.SqlClient.SqlConnection cn = new SqlConnection(ConnectionString.Connection.ConnectionString);
SqlDataAdapter da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
da.SelectCommand = cmd;cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "cheng1";SqlParameter name = new SqlParameter("@名称", SqlDbType.NVarChar);
SqlParameter type = new SqlParameter("@型号", SqlDbType.NVarChar);name.Value = Name;
cmd.Parameters.Add(name);type.Value = Type;
cmd.Parameters.Add(type);DataSet ds = new DataSet();
da.Fill(ds, "MyTable");DataTable dTable = ds.Tables[0];
DataRow dtRow = dTable.Rows[0];
return dtRow;//返回读取的这一行数据
}//调用函数,将值赋给要显示它的控件
this.label6.Text = chaxun1(comboBox1.Text,comboBox2.Text)["数量"].ToString();