MuhammadNaamh Ответов: 1

Как вставить данные в ms SQL server с помощью c#.net


Дорогие все,

Я использую visual studio 2015, у меня есть проблема с вставкой данных в базу данных SQL server.
Вот мой код:
try
        {
            SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Mohammad\Desktop\loginpage\App_Data\CMS.mdf;Integrated Security=True");
            conn.Open();
            string insert_query = "insert into Table (username,email,password,country) values (@username ,@email ,@password ,@country)";
            SqlCommand cmd = new SqlCommand(insert_query, conn);
            cmd.Parameters.AddWithValue("@username", t_username.Text);
            cmd.Parameters.AddWithValue("@email", t_email.Text);
            cmd.Parameters.AddWithValue("@password", t_password.Text);
            cmd.Parameters.AddWithValue("@country", D_country.SelectedItem.ToString());

            cmd.ExecuteNonQuery();
            Response.Redirect("manegar.aspx");
            Response.Write("Registration Is Successfully");
            conn.Close();
        }
        catch (Exception ex)
        {
            Response.Write("ERORR:" + ex.ToString());

        }
    }
}


Что я уже пробовал:

ОШИБКА: System.Data.SqlClient.SqlException (0x80131904): неправильный синтаксис рядом с ключевым словом «Таблица». в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection, Action`1 wrapCloseInAction) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, Boolean breakConnection, Action`1 wrapClientInAction) .TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean, Boolean callerHasConnectionLock asyncClose) в System.Data.SqlClient.TdsParser.TryRun (runBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader DATASTREAM, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & dataReady) в System.Data.SqlClient. SqlCommand.FinishExecuteReader (SqlDataReader DS, runBehavior runBehavior, String resetOptionsString, булева IsInternal, булева forDescribeParameterEncryption) при System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, runBehavior runBehavior, булева returnStream, булева асинхронные, Int32 тайм-аут, задачи и задачи, булева asyncWrite , Логическое inRe try, SqlDataReader ds, Boolean describeParameterEncryptionRequest) в System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method & taskyntime, используемое в качестве завершения TaskCompletionSource32, String method, TaskCompletionSource32 ) в System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (завершение TaskCompletionSource`1, String methodName, Boolean sendToPipe, Int32 timeout, Boolean & usedCache, Boolean asyncWrite, Boolean inRetry) в System.Data.SqlClient.SqelComment (логин. Button1_Click (отправитель объекта, EventArgs e) в c: \ Users \ Mohammad \ Desktop \ loginpage \ login.aspx.cs: строка 33 ClientConnectionId: fb623e67-d06e-45d3-9133-53f264d26604 Номер ошибки: 156, состояние: 1, класс: 15

[no name]

У меня есть проблема с чтением описания вашей проблемы.

Karthik_Mahalingam

что такое сообщение об ошибке

Richard Deeming

Вы храните пароли в виде обычного текста. Не делай этого.

Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]

1 Ответов

Рейтинг:
7

CHill60

Table это зарезервированное слово.

Если вы собираетесь вызвать стол Table (подсказка, не надо) тогда вы должны окружить его квадратными скобками таким образом [Table] т.е.

string insert_query = "insert into [Table] (username,email,password,country) values (@username ,@email ,@password ,@country)";


Karthik_Mahalingam

5

MuhammadNaamh

Спасибо за его работу

CHill60

Хорошо. Не стесняйтесь нажать зеленую кнопку "Принять", чтобы закрыть вопрос.