2009-05-20 3 views
-1

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

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

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

спасибо.

+0

Значит, вы не знаете, как общаться с базой данных или запускать операции CRUD в БД? – CSharpAtl

+0

Обновлен мой ответ для ваших конкретных данных –

ответ

3

Есть много разных способы достижения этого: динамические данные, 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() является закрытым. Вы должны абстрагировать доступ к данным к отдельному классу или сборке, и это один из способов начать выполнение этого.
+0

Hi Joel, Я предпочитаю также прямой метод. В sub для обработчика события для кнопки отправки click-event я могу идти дальше и следовать приведенному выше примеру? У меня есть текстовое поле, называемое ответом, база данных, называемая testdb, с таблицей, в которую я хочу ввести данные в вызываемую таблицу1. ответ будет помещен в колонку ans. Пожалуйста, порекомендуйте. Я не совсем понимаю строку подключения. Спасибо. – 2009-05-20 19:46:18

+0

Отредактировано, надеюсь, что это станет проще. –

+0

Это действительно спасибо – 2009-05-20 20:04:10

0

Нужно искать в LINQ к SQL или ADO.NET (нижний уровень)

2

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

+0

как настроить соединение с базой данных? – 2009-05-20 19:48:08

0

точка нетто 3,5 имеет функцию LINQ, интегрированный с ним ... вам не нужно писать код SQL ... это SQL ORM, который делает работу для вас

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

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

, если имя файла DBML является ведущим ... и имя таблицы - table1 и имеет столбец столбца1

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

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

Thats это ...

1

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

Вы должны начать с нескольких целевых поисковых запросов Google, таких как this one.

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

+0

новичок! Благодаря! – 2009-05-20 19:50:11

+0

Мы все должны начать где-то :) –

Смежные вопросы