написание sql кода в vb.net - PullRequest
0 голосов
/ 20 мая 2009

У меня есть информация, введенная в текстовое поле на странице ASP.net 3.5. когда я нажимаю кнопку отправки, я хотел бы, чтобы эта информация была записана в базу данных сервера sql.

Может кто-нибудь сказать мне, что мне нужно сделать, чтобы сделать это. Конечный пользователь не должен ничего видеть.

Я использую Visual Web Developer 2008. Код обработки событий помещается в отдельный файл с использованием vb.

Спасибо.

Ответы [ 5 ]

3 голосов
/ 20 мая 2009

Существует много различных способов сделать это: динамические данные, LinqToSQL, наборы типизированных данных, блок приложения доступа к данным или другой ORM. Мой предпочтительный метод - это прямой sql, который будет использовать такой код:

Public Sub SaveAnswer(ByVal answer As String)
    Dim sql As String = "INSERT INTO [table1] (ans) VALUES (@Answer)"

    Using cn As New SqlConnection(getConnectionString()), _
          cmd As New SqlCommand(sql)

        cmd.Parameters.Add("@Answer", SqlDbType.VarChar, 50).Value = answer

        cn.Open()
        cmd.ExecuteNonQuery()
    End Using
End Sub

Private Function getConnectionString() As String
    ''//normally read from a config file for this

    Return "Server=(local)\SQLEXPRESS;Database=testdb;Trusted_Connection=True;"
End Function

Несколько вещей, которые можно взять из этого образца:

  • Правильно закрывает соединение БД, даже если выдается исключение, через блок Using
  • Параметризованный запрос для предотвращения внедрения SQL
  • getConnectionString() является частной. Вы должны абстрагироваться от доступа к данным к отдельному классу или сборке, и это один из способов начать применять это.
2 голосов
/ 20 мая 2009

Есть много способов справиться с этим. Я хотел бы начать с нескольких ресурсов ADO.NET (библиотека .NET для общения с базами данных):

1 голос
/ 20 мая 2009

Похоже, вы новичок в ASP.NET. Лучше всего искать в Интернете учебники по созданию приложений ASP.NET на основе баз данных. Чтобы ответить на ваш вопрос прямо здесь, было бы переписать лучше написанные учебники, найденные в других местах.

Вы должны начать с нескольких целевых поисков Google для учебных пособий, таких как этот .

Мой совет: начинать с 2.0, а не с 3.5 - даже если это более старая версия, на ней основываются более новые версии, поэтому вы изучите основы, которые все еще полезны в 3.5.

0 голосов
/ 20 мая 2009

dot net 3.5 имеет встроенную функцию LINQ ... вам не нужно писать SQL-код ... это SQL ORM, который сделает всю работу за вас

создать базу данных (файл .mdb) затем файл dbml (который является datacontext) перетащите таблицы, которые вы создали в базе данных, в dbml ...

тогда вы готовы к коду ...

если имя файла dbml - master ..., а имя таблицы - table1 и столбец column1

тогда вот как вы его используете

dim db = new masterdatacontext()
dim c = new table1()
c.column1 = textbox1.text()
db.table1.insertonsubmit(c)
db.submitchanges()

Вот и все ...

0 голосов
/ 20 мая 2009

Необходимо изучить LINQ to SQL или ADO.NET (нижний уровень)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...