Вставить строку в SQL с помощью C # - PullRequest
0 голосов
/ 04 октября 2018

У меня сейчас проблема, которую я пытаюсь исправить.Я просто попытался получить доступ к базе данных и вставить некоторые значения с помощью C #

Мой код:

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

builder.DataSource = "testtetstet.database.windows.net";
builder.UserID = "PW";
builder.Password = "000000000";
builder.InitialCatalog = "test";

using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
{
    String query = "INSERT INTO dbo.amir (theDate,Hostname,IP) VALUES (@theDate,@hostName, @IP)";

    using (SqlCommand command = new SqlCommand(query, connection))
    {
        command.Parameters.Add("@theDate");
        command.Parameters.Add("@hostName");
        command.Parameters.Add("@IP");

        connection.Open();
        var result = command.ExecuteNonQuery();

        // Check Error
        if (result < 0)
            Console.WriteLine("Error inserting data into Database!");
    }
}

Что я пытаюсь сделать, это вставить 3 строки в SQLбаза данных, но кажется, что она не работает !!

"@ hostname" - это строка, содержащая имя компьютера. "@IP" - это строка, содержащая IP-адрес. "@theDate" - это строка DateTime, котораяотображать дату и время.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Вы не устанавливаете значение параметра. Вам следует либо использовать параметры. Добавить как:

command.Parameters.Add("@IP", SqlDbType.VarChar).Value = "0.0.0.0";
//equals to:
//command.Parameters.Add("@IP", SqlDbType.VarChar); 
//command.Parameters["@IP"].Value = "0.0.0.0";

или (не рекомендуется):

command.Parameters.AddWithValue("@IP", "0.0.0.0");
0 голосов
/ 04 октября 2018

Вы не передаете никаких значений параметрам.Попробуйте что-то вроде этого:

command.Parameters.AddWithValue("@theDate", date);
command.Parameters.AddWithValue("@hostName", host);
command.Parameters.AddWithValue("@IP", ip);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...