【发布时间】:2023-03-29 03:46:01
【问题描述】:
我在以 WPF 形式插入数据时遇到问题。代码没有错误,查询运行成功但是当我检查我的数据库时没有数据。以下是代码:
bool insert()
{
try
{
Connection.Open();
string query = "Insert into checkouts(cnic,medicine,next_trip) VALUES('@c','@m','@n')";
SqlCommand command = new SqlCommand(query, Connection);
command.Parameters.AddWithValue("@c", cnic_box.Text.Replace("-",""));
command.Parameters.AddWithValue("@m", med_box.Text);
command.Parameters.AddWithValue("@n",Convert.ToDateTime(date_box.Text).ToString("yyyy-MM-dd"));
command.ExecuteNonQuery();
Connection.Close();
return true;
}
catch (Exception ex)
{
Connection.Close();
return false;
}
}
【问题讨论】:
-
什么数据库?你那里有明确的交易吗?
-
如何知道是否执行成功? int count=command.ExecuteNonQuery();找出插入了多少行。
-
@DheerajRoy 因为没有语法错误,当我将查询粘贴到 SQL Server 中时,它运行成功。
-
没有语法错误不代表查询执行成功,在c#和sqlserver studio中执行方式不同。您应该使用 count 来获取插入行的计数。这会给你确认。
-
@DheerajRoy 我现在使用整数变量来检查它返回的行数,它返回 1,这意味着查询正在执行。