有两个textbox 在第一个textbox1中输入多个人的学号 第二个textbox中显示对应的人得名字 请问怎么写查询语

有两个textbox 在第一个textbox1中输入多个人的学号 第二个textbox中显示对应的人得名字 请问怎么写查询语句
string cmd31c = "select xingming from biao where xuehao in (" + TextBox1.Text.ToString() + ")";
DataBase cm1c = new DataBase();
DataTable dr31c = cm1c.doSelect(cmd31c);
if (dr31c.Rows.Count!=0)
{
for (int d11 = 0; d11 < dr31c.Rows.Count; d11++)
{
TextBox2.Text += dr31c.Rows[0][0].ToString() + ",";
}
cm1c.close();
}
else
{
Response.Write("<SCRIPT language='JavaScript'>alert('学号不正确 !');</SCRIPT>");

}
显示的一直是第一个人得名字 而且输入几个学号就显示几个重复的名字
求助
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
bt1();
}
void bt1()
{
string str = TextBox1.Text.Replace("\r\n ", " <br> ");
string cmd31c = "select xingming from biao where xuehao in ('100503204','100503205')";
DataBase cm1c = new DataBase();
DataTable dr31c = cm1c.doSelect(cmd31c);
if (dr31c.Rows.Count != 0)
{
for (int d11 = 0; d11 < dr31c.Rows.Count; d11++)
{

TextBox2.Text += dr31c.Rows[0][0].ToString() + ",";
//TextBox2.Text = TextBox2.Text.ToString() + dr31c.Rows[0][0].ToString() + ",";

}
cm1c.close();
}
else
{
Response.Write("<SCRIPT language='JavaScript'>alert('学号不正确 !');</SCRIPT>");

}

}

首先在FORM1的界面上 拖一个TextBox1 和Button按钮
然后在FORM2的界面上 拖一个TextBox
然后开始写代码
首先在FORM1 里面写个属性
public string Stu_id
{
get
}
然后点开Form1的Button按钮写
Form2 F2 = new Form2(this);
F2.show();

然后在FORM2 建立全局变量
Form1 F1;
然后给构造函数加参数
public Form2(Form1 f1)
{
F1 = f1;
InitializeComponent();
}

然后你就可以在F2 的窗体获取F1.Stu_id
如果你想直接点F1 的按钮 在F2 直接显示 的话 你可以在F2 的Load函数里写代码
private void Form2_Load(object sender, EventArgs e)
{
//查询数据库 学号 = F1.Stu_id
//这里的代码就要你自己实现了。
}追问

呵呵 谢谢了 已经解决了

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-05
1、TextBox1.Text.ToString() ,用split语句拆分数组,分隔符逗号,例子程序在帮助文件中就有。
2、string cmd31c = "select xingming from biao where xuehao in (" + TextBox1.Text.ToString() + ")";
这句的in改为按数组循环时,or语句处理sql,可以支持大数据,且cmd31c 可以在查询分析器中直接运行,就可以发现问题了。追问

cmd31c 再查询分析其直接运行得到的结果是对的 但是在textbox2中显示的一致是第一个人的名字 第二个人把他覆盖了
我觉得应该是
TextBox2.Text += dr31c.Rows[0][0].ToString() + ",";
的问题 再求助 谢谢

追答

TextBox2.Text += dr31c.Rows[0][0].ToString() + ",";
这种语句,在编程规范中一般是不推荐的,建议改为
TextBox2.Text = TextBox2.Text.tostring() + dr31c.Rows[0][0].ToString() + ",";
我没有区分大小写,你在机器上自己调整一下。

追问

好的 先谢谢了 我先试试

追答

循环结束后,加入一句,否则多一个逗号,
TextBox2.Text的内容如果非空,用substrin从0取,长度为TextBox2.Text的内容的lenth-1

追问

还是没出来 高手再给指点一下吧

追答

把代码重新贴一下,现在不知道是什么情况;偶不是高手,只是做过几年的开发,呵呵。

追问

高手能给我个别的联系方式吗 代码有点多 不让发

追答

这个是按钮点击事件,处理的bt1();代码呢。

追问

好了 贴出去了 就这些代码 就两个textbox 和一个button 没别的

追答

问题中
问题补充:

protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
bt1();
}
void bt1()
{
string str = TextBox1.Text.Replace("\r\n ", " ");
string cmd31c = "select xingming from biao where xuehao in ('100503204','100503205')";
DataBase cm1c = new DataBase();
DataTable dr31c = cm1c.doSelect(cmd31c);
if (dr31c.Rows.Count != 0)
{
for (int d11 = 0; d11 alert('学号不正确 !');");

}

这部分的改进是什么样了,呵呵,需要这部分的代码,才能知道呀,呵呵

追问

再textbox1 中输入'100503204','100503205'这两个人的学号 或者更多人的学号 再textbox2中显示相应的名字 但是每次只显示两个100503204的名字

追答

问题我知道了,需要你按上面内容修改后的代码,才能知道原因。
循环中,TextBox2.Text += dr31c.Rows[0][0].ToString() + ",";
这句永远只取第一条记录的内容,改为
TextBox2.Text += dr31c.Rows[d11][0].ToString() + ",";

有两个textbox 在第一个textbox1中输入多个人的学号 第二个textbox中显...
首先在FORM1的界面上 拖一个TextBox1 和Button按钮 然后在FORM2的界面上 拖一个TextBox 然后开始写代码 首先在FORM1 里面写个属性 public string Stu_id { get } 然后点开Form1的Button按钮写 Form2 F2 = new Form2(this);F2.show();然后在FORM2 建立全局变量 Form1 F1;然后给构造函数加...

在C#中怎样在输入一个文本框内容时在另一个文本框里显示与之对应的东西...
假如现在有两个textbox1和textbox2 双击第一个文本框 在她change事件中加入textbox2.text=textbox1.text 这样就可以了动态的显示第一个文本框中的内容

C#一个BUTTON,两个TEXTBOX,在一个TEXTBOX输入,按BUTTON,在另一个TE...
你是说按下一个button,就在第二个textbox显示你在第一个textbox输入的值?那就在button的click事件里面写:this.textbox2.Text=this.textbox1.Text; 如果是要追加值的话:this.textbox2.Text=this.textbox2.Text.ToString()+this.textbox2.Text;...

如何是两个textBox中输入的内容相同并同步显示
<asp:TextBox ID="txt1" runat="server" onkeyup="cc()" ><\/asp:TextBox> <asp:TextBox ID="txt2" runat="server" ><\/asp:TextBox> var obj1 = document.getElementById("div1").firstChild;var obj2 = document.getElementById("div2").firstChild;function cc() { \/...

第一个文本框输入编号第二个文本框对应名称
string sqlstr="select bmmc from hp_bmbh where bmbh =‘ "+ TextBox1.Text .Trim()+"'";\/\/估计你错在这步的。SqlCommand comm = new SqlCommand(sqlstr, conn);DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter(comm);da.Fill(ds, "hp_bmbh");string bmmc = ds....

怎样在TextBox1中输入一个姓名例如:小明。然后按回车键,在同一页中的...
首先是给textbox1添加一个keyup事件,在这个事件里面进行判断,如果按下的是enter键,则将textbox1的文字追加到你说的那个东西后面。具体代码如下。private void textBox1_KeyUp(object sender, KeyEventArgs e){ if (e.KeyCode == Keys.Enter){ textBox2.Text = "同学是" + textBox1.Text;} ...

...利用一个textbox查询数据库,在另一个textbox中显示出来
假设第一个textbox名为txtBox1,第二个textbox为txtBox2,在该界面中的头部需要引入两个命名空间:\/\/假设使用的是SQL Server数据库 using System.Data;using System.Data.OleDb;在界面中双击button按钮,填入如下代码:string str1; \/\/保存txtBox1中的内容 str1 = txtBox1.Text.Trim();if(str...

在第一个文本框输入在第二个文本框显示输入字符
双击按钮进入btnEtr_Click事件内部 在里面写:TextBox1.Text=txtNum.Text;txtNum.Text=NULL;

一个按钮怎么控制两个textbox输入
(document).ready(function () { ("#TextBox1").focusin(function () { ("#btnClick").click(function () { document.getElementById("<%=TextBox1.ClientID%>").value = "1";document.getElementById("<%=TextBox2.ClientID%>").value = "";});("#btnTest").click(function () ...

c#中如何设置一个button,按下去后2个textbox显示所要的结果
你把 text的参数 设置成 读取 botton的 只就行了 textbox。text=botton。参数

相似回答
大家正在搜