Через мое приложение winform данные не вставляются в таблицуC#

Место общения программистов C#
Ответить
Anonymous
 Через мое приложение winform данные не вставляются в таблицу

Сообщение Anonymous »

Я создал приложение Winforms, использующее SQL Server в качестве базы данных. Проблема в том, что после успешного выполнения кода данные не вставляются в таблицу. Я проверил правильность строки подключения и правильности кода, но данные по-прежнему не вставляются. Может ли кто-нибудь помочь мне с этим?
Вот код, который я использую:
private void StoreData()
{
try
{
// Log connection string details (mask sensitive information if necessary)
LogInformation($"Attempting to open connection with connection string: {connectionString}");

using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();

// Log which database and server the connection is using
LogInformation($"Connected to database: {connection.Database} on server: {connection.DataSource} with connection string: {connection.ConnectionString}");

string query = "INSERT INTO Production_Master (PlanId, ModelId, PartId, Part_Sr_No, SerialId, [User], Date_Time) " +
"VALUES (@PlanId, @ModelId, @PartId, @Part_Sr_No, @SerialId, @User, @Date_Time)";

using (SqlCommand command = new SqlCommand(query, connection))
{
// Log which table is being accessed
LogInformation("Accessing table: Production_Master");

// Define constant values outside the loop
command.Parameters.Add("@PlanId", SqlDbType.Int).Value = _PlanId;
command.Parameters.Add("@ModelId", SqlDbType.Int).Value = _MId;
command.Parameters.Add("@SerialId", SqlDbType.NVarChar, 50).Value = P_T_QR_DATA;
command.Parameters.Add("@User", SqlDbType.Int).Value = 0; // Assuming this is a constant value

for (int i = 0; i < partId.Count; i++)
{
// Remove previously added parameters
command.Parameters.Remove("@PartId");
command.Parameters.Remove("@Part_Sr_No");
command.Parameters.Remove("@Date_Time");

// Set parameters that change per iteration
command.Parameters.Add("@PartId", SqlDbType.Int).Value = partId;
command.Parameters.Add("@Part_Sr_No", SqlDbType.NVarChar, 50).Value = Station3Part;
command.Parameters.Add("@Date_Time", SqlDbType.DateTime).Value = DateTime.Now;

// Log the parameters being inserted
LogInformation($"Inserting data: PlanId={_PlanId}, ModelId={_MId}, PartId={partId}, Part_Sr_No={Station3Part}, SerialId={P_T_QR_DATA}, User=0, Date_Time={DateTime.Now}");

int rowsAffected = command.ExecuteNonQuery();

if (rowsAffected > 0)
{
richTextBox1.AppendText($"Data for Part {partId} stored successfully.\n");
// Log success message
LogInformation($"Data for PartId={partId} stored successfully.");
}
else
{
// Handle potential insertion failure for each iteration
// Log an error message or display a specific message for the failed part
LogError($"Failed to store data for PartId={partId}.");
}
}
}
}

// Clear variables after storing data
tankSR = "";
Station3Part.Clear();
station3Tank = "";

// Log clearing of variables
LogInformation("Cleared variables after storing data.");
}
catch (SqlException ex)
{
LogException(ex);
}
}

Вот лог из текстового файла...
2024-05-24 15:37:27 [INFO] Connected to database: CKDDB on server: 10.12.101.1 with connection string: Data Source=10.12.101.1;User ID=sa;Initial Catalog=CKDDB;Integrated Security=False;
2024-05-24 15:37:27 [INFO] Accessing table: Production_Master
2024-05-24 15:37:27 [INFO] Cleared variables after storing data.
2024-05-24 15:41:14 [INFO] Attempting to open connection with connection string: Data Source=10.12.101.1;User ID=sa;Password=Bal@1234;Initial Catalog=CKDDB;Integrated Security=False;


Подробнее здесь: https://stackoverflow.com/questions/785 ... -the-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»