StudentID > Number
StudentName > Text
StudentCNIC > Text
StudentDOB > Date/Time
我正在尝试创建一个搜索文本框,结果显示在文本框中。我有一个名为 FindBtn 的按钮,用户可以在其中输入 StudentID、Student Name 或 Student CNCI(只是疼痛号码)。结果随后显示在文本框中...StudIDTb(显示学生 ID)、StudNameTb(显示学生姓名)、StudCNCITb(显示学生 CNCI)和 StudDOBTb(显示学生 DOB)。
我在互联网上看到的很多示例都使用 gridview,但我使用文本框来显示结果。我发现感兴趣的是...
public Form1()
{
InitializeComponent();
//Connection String for Access 2003.
myCon = new OleDbConnection(@" Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C....\StudDB.mdb ");
}
private void Form1_Load(object sender, EventArgs e)
{
this.studentsTableAdapter.Fill(this.studDBDataSet.Students);
}
在 FindBtn 函数中做了以下......
private void FindBtn_Click(object sender, EventArgs e)
{
string title = textBox1.Text.ToString();
if (title != "")
{
string queryString = "SELECT * FROM Students + title;
//I need help here
StudIDTb.Text = queryString;
StudNameTb.Text = queryString;
StudCNCITb.Text = queryString;
StudDOBTb.Text = queryString;
}
else
MessageBox.Show("Please try again\nError: ");
}
结果表明......
SELECT *
FROM Students 103
在每个文本框和 exe 冻结,所以显然这是错误的。请有人可以在这里帮助我,在此先感谢。
更新 1 我在字符串变量之前包含了 OleDbCommand、CommandType 和打开连接,这可以防止屏幕冻结,但它不能解决问题
更新 2找到了我喜欢的东西,但在这里 不起作用
更新 3
作为C Sharp Corner,请提供一段代码....
private void btnFind_Click(object sender, EventArgs e)
{
string title = textBox1.Text.ToString();
string queryString = "SELECT * FROM Students" + title;
OleDbCommand command = new OleDbCommand();
command.CommandText = queryString;
command.Connection = myCon;
myCon.Open();
OleDbDataReader dr = command.ExecuteReader();
while (dr.Read())
{
StudIDTb.Text += String.Format("Student ID:
{0}\n",dr["StudID"].ToString());
StudNameTb.Text += String.Format("StudentName ID: {0}\n",
dr["StudentName"].ToString());
StudCNCITb.Text += String.Format("StudentCNIC: {0}\n",
dr["StudentCNIC"].ToString());
StudDOBTb.Text += String.Format("StudentCNIC: {0}\n",
dr["StudentCNIC"].ToString());
}
myCon.Close();
修改格式后收到错误消息....
“Microsoft Jet 数据库引擎找不到输入表或查询‘Students101’。确保它存在并且其名称拼写正确”。
我现在正在查看它以了解它的含义