使用控制台应用程序时数据未插入数据库

Data not inserting in database when using console application

我是控制台应用程序的新手。现在我写了一个示例函数用于在数据库中插入值。我的数据库连接没有问题。但是我的值没有插入 table。请找到问题并告诉我。

这是我的代码

static void Main(string[] args)
        {
try
            {
                string sConnectionString = "Data Source=my ipaddress;Network Library=DBMSSOCN;Initial Catalog=db;user id=user;Password=password";
                string sSQL = "";
                using (var connection = new SqlConnection(sConnectionString))
                {
                    connection.Open();
                    Console.WriteLine("OK");
                    for (int i = 1; i <= 5; i++)
                    {

                        sSQL = "INSERT INTO test " +
                         "(id) " +
                             "VALUES (" + i + ")";

                        Console.WriteLine(i + " inserted successfully");

                    }
                    SqlCommand objCmd = new SqlCommand(sSQL, connection);
                }
            }
            catch (DbException)
            {
                Console.WriteLine("NOT OK");
            }
}

您根本没有执行命令 - 您正在创建一个 SqlCommand,然后什么都不做。您需要致电 ExecuteNonQuery().

但是,您应该停止那样构建SQL。您应该立即开始使用参数化 SQL 。像这样:

using (var connection = new SqlConnection(sConnectionString))
{
    connection.Open();
    var sql = "INSERT INTO test (id) VALUES (@id)";
    using (var command = new SqlCommand(sql, connection))
    {
        // Adjust this to match the type of the id field
        var parameter = command.Parameters.Add("@id", SqlDbType.Int);
        for (int i = 1; i <= 5; i++)
        {
            parameter.Value = i; 
            command.ExecuteNonQuery();
        }
    }
}