我在Visual Web Developer Express 2008中构建了一个webform来帮助我完成工作。我使用webform来运行通过电子邮件发送给我的查询请求。输入采用这种格式
12312 12312
12312 12312
12312 12312
12312 12312
我在文本框中输入第一个数字,在另一个文本框中输入第二个数字,然后单击运行查询的按钮并在gridview(单行)中返回结果。
string strConn, strSQL;
strConn = AppConfig.Connection
strSQL = 'select fields from table where FirstNum=:FirstNum and SecondNum=:SecondNum';
using (OracleConnection cn = new OracleConnection(strConn))
{
OracleCommand cmd = new OracleCommand(strSQL, cn);
cmd.Parameters.AddWithValue(":FirstNum", txtFirstNum.Text);
cmd.Parameters.AddWithValue(":SecondNum",
txtSecondNum.Text);
cn.Open();
using (OracleDataReader rdr = cmd.ExecuteReader())
{
dgResults.DataSource = rdr;
dgResults.DataBind();
}
cn.Close();
}
我有一个想法可以帮助我加快工作进度。我希望能够在单个文本框中删除这两个数字
(如12312 12312)
并让代码解析查询的nubmers。或者更好的是在像这样的多行文本框中过去所有这些
12312 12312
12312 12312
12312 12312
12312 12312
让它们全部解析,并为每一行运行查询,结果全部输出到一个gridview。我只是不确定如何处理这个问题。任何建议将不胜感激。
谢谢。
答案 0 :(得分:1)
也许是这样的:
string[] lines = textBox.Text.Split( '\n' );
foreach( var line in lines )
{
var values = line.Split( ' ' );
var num1 = int.Parse( values[0] );
var num2 = int.Parse( values[1] );
// do what you need to with num1, num2
}
您将要为上面的代码添加更多错误处理逻辑和弹性 - 特别是如果输入来自人类。