c# - 代码返回 true 但数据不在表中
问题描述
我正在尝试将数据添加到 SSMS 中的数据库中,根据我的代码,我成功插入但在数据库表中。我有没有数据的新空行。这是我的代码示例。
SqlConnection conn = new SqlConnection("Server=.\\SQLEXPRESS;Database=OSMSSE;Integrated Security=True;connect timeout =30");
public void AddData(string word){
conn.Open();
string sql = "insert into TestBlock (Words) values(@word)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@word", word.ToLower());
int res = cmd.ExecuteNonQuery();
if ( res > 0)
{
Console.WriteLine("Inserted");
}
conn.Close();
}
这是没有数据的数据库表的图像。 数据库表记录SS
解决方案
根据您的屏幕截图,您的表名是TestBlock2
,而不是TestBlock
。这就是为什么您需要将命令修改为;
string sql = "insert into TestBlock2 (Words) values(@word)";
我也有一些建议;
- 你不应该硬编码你的连接字符串。您需要将其放入一些配置文件或一些设置文件。
- 您可能
conn
在代码中使用您作为字段。取而代之的是,在您的方法中创建您的连接。 - 您需要使用
using
语句来自动处理您的连接和命令。 - 不要使用方法
AddWithValue
。有时它可能会产生意想不到的结果。改用Add
方法(最好Add(String, SqlDbType, Int32)
是重载)
推荐阅读
- django - 在 Django-allauth 中使用 Socialaccount 自定义表单
- flutter - Flutter - 更改页面并返回后,StreamBuilder 似乎没有收听流
- java - 如何将 Webelement 转换为 Double?
- php - 动态设置列数
- flutter - 预计会找到“)”
- reactjs - 图像相对网址在反应 js 中不起作用
- flutter - 如何使卡片内容可滚动?
- xml - XSLT 未使用 for-each 和 value-of 函数正确拆分子子节点
- sql - 什么是“选择性查询”
- reactjs - 如何在 JSX 中有条件地渲染和隐藏多个组件 onClick?