【发布时间】:2021-03-23 21:21:12
【问题描述】:
我正在做一个数据库项目,程序的很大一部分已经完成,但遇到了一个问题。 我有一个名为员工的数据库,我在文本框中使用 emp_ID 进行搜索,并从数据库中获取属性(姓名、姓氏)并将它们写入另一个文本框。当我单击保存按钮时,我希望它从文本框中更新姓名和姓氏。这是我的代码看起来不错但不起作用。 伪代码:从 ID = emp_ID 的表 Employee 更新姓名和姓氏
错误:
输入字符串的格式不正确。
我的代码:
private void button1_Click(object sender, EventArgs e)
{
String id = searchTB.Text;
string Name = nametb.Text;
using (var connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Employee.accdb"))
using (var command = connection.CreateCommand())
{
command.CommandText = "select *from Employee where [emp_ID]= " + id + " ";
command.Parameters.AddWithValue("Name", int.Parse(nametb.Text));
command.Parameters.AddWithValue("Surname", int.Parse(surnametb.Text));
connection.Open();
var reader = command.ExecuteReader();
while (reader.Read())
{
nametb.Text = reader["Name"].ToString();
surnametb.Text = reader["Surname"].ToString();
}
}
}
【问题讨论】:
-
首先,SQL 语句中 * 后面需要一个空格。最后不需要连接空格。如果 emp_ID 是数字类型,则可能 id 不应声明为字符串。