Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 2013年标准表达式访问中的数据类型不匹配_C#_Ms Access_Insert Update - Fatal编程技术网

C# 2013年标准表达式访问中的数据类型不匹配

C# 2013年标准表达式访问中的数据类型不匹配,c#,ms-access,insert-update,C#,Ms Access,Insert Update,这是我的密码。pcNumber是自动编号我收到一个错误,它希望我将数据类型更改为字符串,但我需要它是自动编号 是自动的数字。因为它是一个数值,所以不需要使用单引号 但更重要的是,您应该始终使用。这种类型的字符串连接对攻击是开放的 还可用于处理OleDbConnection和OleDbCommand OleDbCommand computerStatus = new OleDbCommand("update Computer SET Status= 'Occupied' where PcNumbe

这是我的密码。pcNumber是自动编号我收到一个错误,它希望我将数据类型更改为字符串,但我需要它是自动编号

是自动的数字。因为它是一个数值,所以不需要使用单引号

但更重要的是,您应该始终使用。这种类型的字符串连接对攻击是开放的

还可用于处理
OleDbConnection
OleDbCommand

OleDbCommand computerStatus = new OleDbCommand("update Computer SET Status= 'Occupied' where PcNumber='" + cboComputerNo.Text + "'", con);
computerStatus.ExecuteNonQuery();

正如LarsTech所指出的,您可能需要检查
cboComputerNo.Text
字符串是否为有效整数,并使用。

使用参数以避免sql注入。使用int.TryParse将文本转换为数字。已使用的TryParse和int.parse在我第一次使用参数时不起作用。为什么我需要使用?为什么不在代码中缩小它?@AllanPatrickCaldito使用语句dispose unmanagement resources。检查以下问题:以及
using(OleDbConnection con = new OleDbConnection(conString))
using(OleDbCommand computerStatus = con.CreateCommand())
{
    computerStatus.CommandText = "update Computer SET Status= ? where PcNumber = ?";
    computerStatus.Parameters.AddWithValue("@status", "Occupied");
    computerStatus.Parameters.AddWithValue("@number", cboComputerNo.Text);
    computerStatus.ExecuteNonQuery();
}