首页 > 解决方案 > 为我的 Visual Studio 程序连接的数据库在运行程序时不会将数据放入表中

问题描述

想说,这是我第一次使用 SQL、Visual Studio、C#。在visual studio界面中,有一个叫做inventory的按钮,连接界面后点击它。然后我需要做的是将这些细节放入连接到 Visual Studio 程序的数据库中的表中。

我制作了包含必要表的数据库并将其与 Visual Studio 连接。程序已成功构建并运行。但是数据没有插入到我在数据库中创建的表中。没有显示任何错误。我们只是对原始的 Visual Studio 程序 (.cs) 进行了一些修改,将标签的详细信息插入到我们的数据库中,并对这些数据和数据库进行了更多操作。但是现在,我们可以看到数据库正在执行这些操作。

运行程序后,表格不显示它应该从 .CS 程序插入的任何数据。需要知道是什么原因以及如何在数据库中查看这些详细信息。

我希望看到数据填充到表格中。

这是我的代码:

con.Open();
commandInsert = new SqlCommand(
                       "INSERT INTO table3(EPC,PC,Identificationcount,RSSI,CarrierFrequency) VALUES (@EPC,@PC,@Identificationcount,@RSSI,@CarrierFrequency)",
                       con
                    );
commandInsert.Parameters.Add("@EPC", row[2].ToString());
commandInsert.Parameters.Add("@PC", row[0].ToString());
commandInsert.Parameters.Add("@Identificationcount", row[5].ToString());
commandInsert.Parameters.Add("@RSSI", (Convert.ToInt32(row[4]) - 129).ToString() + "dBm");
commandInsert.Parameters.Add("@CarrierFrequency", row[6].ToString());
commandInsert.ExecuteNonQuery();

标签: c#sql-servervisual-studio

解决方案


尝试创建一个类。

using System.Data.SqlClient;

class MyDataBase
{
    public SqlConnection MyConnection = new SqlConnection(ADD CONNECTION STRING HERE);
    public SqlCommand MyCommand = MyConnection.CreateCommand();
}

假设您有一个包含 3 列的表“testTable”。1 个称为“id”的 int(如果您没有自动递增主键)、1 个文本/varchar“描述”和 1 个日期时间“createDate”。

现在在您的主类中执行此操作:

private void InsertIntoTableXYZ(int valueID, string valueDescr, DateTime valueDate)
{
    MyDataBase.MyCommand.CommandText = 
              "INSERT INTO testTable (id,description,createDate) " +
              "VALUES (" + valueID + ",'" + valueDescr + "','" + valueDate "')";
                   // no '' because it is int
    MyDataBase.MyConnection.Open();
    MyDataBase.MyCommand.ExecuteNonQuery();
    MyDataBase.MyConnection.Close();
}

然后您在主代码中的某处调用该方法

InsertIntoTableXYZ(1, "hello", DateTime.Now)

推荐阅读