База данных, которая подключена для моей программы Visual Studio, не переносит данные в таблицы при запуске программы - PullRequest
1 голос
/ 12 июня 2019

Хочу сказать, что я впервые работаю с SQL, Visual Studio, C #. В интерфейсе visual studio есть кнопка инвентаризации и при ее нажатии после подключения интерфейса. Затем мне нужно поместить эти данные в таблицу базы данных, подключенной к программе 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();

1 Ответ

1 голос
/ 12 июня 2019

Попробуйте создать класс.

using System.Data.SqlClient;

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

Допустим, у вас есть таблица "testTable" с 3 столбцами.1 int называется id (если у вас нет автоматического увеличения первичного ключа), 1 text / varchar «description» и 1 datetime «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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...