2014-01-31 2 views
0

Простой достаточно, я пытаюсь извлечь информацию из столбца в базе данных SQL, где Member_ID равен целому числу, которое пользователи вводят в текстовое поле.SQL To Text Box

  • SendFromID.Text это текстовое поле, содержащее Members_ID

  • Current_Points является текстовым полем Я хочу держать/показать инфо-SQL Колонка

  • U_G_Studio является SQL Колонка содержит данные

Только 1 строка может соответствовать Member_ID, так как это первичный ключ.

Это насколько мне удалось получить с моим кодом; после этого я просто теряюсь. Если бы вы могли привести пример в коде, я бы очень признателен.

stcon = "CONNECTION STRING;" 
     con = New SqlConnection(stcon) 

     con.Open() 

     Dim cmd As New SqlCommand("SELECT U_G_Studio FROM PersonsA WHERE Members_ID ='" & SendFromID.Text & "'", con) 
     cmd.CommandType = CommandType.Text 

{EDIT 1}

Просто хочу уточнить, мне нужно, чтобы загрузить данные из SQL-столбец в texbox.

+1

Удалить котировку через 'SendFromID.Text'. Также используйте параметры. –

+0

Это настолько склонно к инъекции Sql. http://xkcd.com/327/ Пожалуйста, используйте параметризованные запросы или хранимые процедуры. –

+0

Это для личного использования, и программа защищена многочисленными паролями. SQL Injection не вызывает беспокойства, спасибо в любом случае. – user3224987

ответ

0

Я закончил с этим кодом:

stcon = "CONNECTION STRING" 
     con = New SqlConnection(stcon) 

     da = New SqlDataAdapter("SELECT U_G_Studio FROM PersonsA WHERE Members_ID =" & SendFromID.Text, con) 
     Dim dt = New DataTable 

     da.Fill(dt) 

      CurrentPoints.Text = dt.Rows(0)("U_G_Studio").ToString() 
0

Вам необходимо выполнить команду ExecuteScalar(), назначить ее переменной и отобразить ее в текстовом поле.

1

Используйте это:

Dim cmd As New SqlCommand("SELECT U_G_Studio FROM PersonsA WHERE Members_ID = @id") 
cmd.Parameters.AddWithValue("@id", SendFromID.Text) 
0

Если Id пользователей является целым числом, то вы должны попробовать

Dim cmd As New SqlCommand("SELECT U_G_Studio FROM PersonsA WHERE Members_ID =" & SendFromID.Text , con) 
2

Попробуйте что-то вроде этого. Using автоматически заботится об утилизации ресурсов. Также параметризуйте свой запрос, чтобы избежать атак с SQL-инъекциями.

stcon = "CONNECTION STRING;" 
Dim strUGStudio As String 

Dim sql As String = _ 
"SELECT U_G_Studio FROM PersonsA WHERE Members_ID = @MemberId" 

Using conn As New SqlConnection(stcon) 
    Dim cmd As New SqlCommand(sql, conn) 
    cmd.Parameters.AddWithValue("@MemberId", SendFromID.Text) 
    Try 
     conn.Open() 
     strUGStudio = Convert.ToString(cmd.ExecuteScalar()) 
    Catch ex As Exception 
     Console.WriteLine(ex.Message) 
    End Try 
End Using 

Return strUGStudio