StudentID > Number
StudentName > Text
StudentCNIC > Text
StudentDOB > Date/Time
我正在尝试创建一个搜索文本框,其中的结果显示在文本框中。我有一个名为一个按钮,称之为FindBtn,用户输入StudentID,学生姓名或学生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 找到我喜欢的东西,但它不起作用 Here
更新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'。确保它存在并且其名称拼写正确“。
我现在正在研究它是什么意思
答案 0 :(得分:2)
这是一个应该有用的示例(如果你包括oledbcommand,commandtype等也更新你的代码,那么我们可以看到你改变了什么):
OleDbCommand command = new OleDbCommand();
command.CommandText = queryString;
command.Connection = myCon;
myCon.Open();
OleDbDataReader dr = command.ExecuteReader();
while(dr.Read())
{
StudIDTb.Text += dr["StudID"].ToString();
StudNameTb.Text += dr["StudName"].ToString();
StudCNCITb.Text += dr["StudCNCI"].ToString();
StudDOBTb.Text += dr["StudDOB"].ToString();
}
myCon.Close();