Computechsoft Ответов: 2

Проблема вставки запроса


Я пытаюсь вставить запись в таблицу sql server Record insert но ее нет
запись об ошибке не будет засеяна в таблице
проверьте мой код

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

Dim sqlConnection As New System.Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Softlinks.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
        Dim cmd As New System.Data.SqlClient.SqlCommand
        cmd.CommandType = System.Data.CommandType.Text
        cmd.CommandText = "INSERT into Productitem (Productcode,Productname,Productprice)  values (12345,'Keyboard',1245)"

        cmd.Connection = sqlConnection

        sqlConnection.Open()
        cmd.ExecuteNonQuery()
        sqlConnection.Close()

Karthik_Mahalingam

есть какие-нибудь ошибки? если так,
что такое сообщение об ошибке?

2 Ответов

Рейтинг:
5

Maciej Los

Прежде всего: проверьте connectionstring! Список возможных строк подключения находится здесь: Строки подключения SQL Server - ConnectionStrings.com[^]

Во вторых: Никогда, НИКОГДА используйте такие запросы, потому что SqlInjection[^Вместо этого используйте параметризованные запросы!

Как: защититься от инъекционных атак в ASP.NET[^]
Написание безопасного динамического SQL в SQL Server[^]
Как выполнять параметризованные запросы[^]
Использование параметров для запросов SQL Server и хранимых процедур[^]
Влияние параметризованных запросов на производительность-простой разговор[^]


Рейтинг:
1

Wendelius

Поскольку вы говорите, что код ошибки не генерируется, я полагаю, что ошибка завершается успешно. Однако вы должны дважды проверить это с помощью отладчика.

Одна из потенциальных причин отсутствия новых вставленных данных заключается в том, что если файл базы данных включен в ваш проект, он будет копироваться в выходную папку каждый раз, когда вы компилируете приложение, таким образом перезаписывая все предыдущие изменения.

Чтобы этого не произошло, попробуйте переместить файл базы данных в статическую папку за пределами выходного пути, например в каталог типа C:\TEMP\TESTDATA и измените строку подключения, чтобы она указывала на это место.

Dim sqlConnection As New System.Data.SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\TEMP\TESTDATA\Softlinks.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")