我尝试从表P_identity中检索值P_id(自动增量)以将其存储在表Communication中。看来那种错误
“错误:System.Data.SqlClient.SqlException(0x80131904):转换 转换nvarchar值'SELECT P_id FROM P_identity时失败 在Amka ='15598970695''到数据类型int。“
我该如何解决?
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/test")
public class TestRestController {
@Autowired
public TestRestController (TestService testService) {
super(testService);
}
}
答案 0 :(得分:1)
听起来你只需删除
中的单引号WHERE Amka = '" + TextBoxAmka.Text + "'"
部分为
WHERE Amka = " + TextBoxAmka.Text
Amka
列似乎是一个数值。对ExecuteNonQuery
语句使用SELECT
似乎毫无意义。如果您想从语句中获取结果值,可以使用ExecuteReader
。
或者,如果您的SELECT
语句只返回一个值,则可以使用ExecuteScalar
,这完全适合这种情况。
int id = (int)com2.ExecuteScalar();
还有一些事情;
SELECT
语句使用参数化查询,就像对INSERT
语句一样。using
statement自动处理您的连接和命令,而不是手动调用Close
方法。AddWithValue
方法。 It may generate unexpected results sometimes。使用Add
方法重载来指定参数类型及其大小。