【发布时间】:2016-05-28 23:11:40
【问题描述】:
我不知道这是否是正确的方法,但我正在尝试从数据库表中获取所有工作编号并检查用户输入的内容是否在数据库中。我通过将所有数据发送到一个数组并检查它是否存在于其中来做到这一点。不过我相信会有更简单的方法。这是我到目前为止的代码:
public class IDNo
{
public int Col1 { get; set; }
}
private void button3_Click(object sender, EventArgs e)
{
String check = "SELECT * FROM Job";
using (SqlConnection con = new SqlConnection(str))
{
using (SqlCommand cmd = new SqlCommand(check, con))
{
con.Open();
var listOfId = new List<IDNo>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var id = new IDNo();
id.Col1 = Convert.ToInt32(reader["JobNo"]);
listOfId.Add(id);
}
}
string JN = textBox10.Text;
int JoNo = Int32.Parse(JN);
if (JoNo == IDNo)
{
MessageBox.Show("No job number found, please try again!");
}
else
{
DO SOMETHING HERE WHEN CORRECT
}
}
}
}
我想要一些关于如何检查用户输入的数字是否存在于数组中的帮助。
【问题讨论】:
-
你为什么不询问你的数据库是否存在具有键入的工作编号的记录?它们是为此类任务而设计的,而不仅仅是保存您的所有工作数据
-
为什么不直接让数据库进行搜索呢? (
SELECT * FROM Job where JobNo = @JobNo并将@JobNo参数添加到您的命令对象) -
如果您要查询数据库,为什么不直接发送一条 SQL 查询,在一行中确定条目是否存在?记得参数化查询。