所以我有一個 textbox1.Text
和一個按鈕
我怎樣才能把sql的ID資料拿到textbox1.text中? 我試圖從sql中獲得一個字串值。 在MSSQL查詢中,這個查詢作業得很好。select thisID FROM thisTable where ThisName = 'Name'
但是在vbNet中,單選題被認為是一個注釋
textbox1.text = "SELECT thisID from thisTable where ThisName= '" & 'Name' & "'"
我只想讓 sql 中的 itemID 出現在文本框中。 謝謝你。
uj5u.com熱心網友回復:
我只想讓sql中的itemID出現在文本框中。幫助。謝謝。
沒錯。嗯...。它不是那樣的! 如果你將文本框中的文本設定為"c: empmy.txt",你是否希望你的程式將一個檔案載入文本框中?
或者你認為文本框將只顯示C: empmy.txt?
你必須連接到資料庫,下載資料并將資料放入文本框
。讓我們開始讓你的生活變得更容易一些:
我們要做的就是讓你的生活變得更容易一些。
Dapper Dim c as New SqlConnection("your db connection string here")
textbox1.text = c.ExecuteScalar(Of String) ( _
"SELECT thisID from thisTable where ThisName=@pName"/span>, _
New With { .pName = "some name here" } _
)
我猜是SqlConnection,但如果你的db不是SQLServer,請使用適當的連接型別
。uj5u.com熱心網友回復:
首先,你確定ThisName是一個唯一的值?這個欄位是否有一個UNIQUE約束?如果沒有,你可能無法從這個查詢中獲得預期的結果。
將你的用戶界面代碼與你的資料庫代碼分開是一個好主意。
我正在使用 ADO.net 和 MS Sql Server 提供商。
Imports System.Data.SqlClient
為了實作你的愿望,你將需要一個與資料庫的連接和一個告訴資料庫該做什么的命令。將你的連接字串傳遞給連接的建構式,將CommandText和Connecion屬性傳遞給命令的建構式。
資料庫物件,如連接和命令,需要被處置。我們有Using...End Using塊來完成這個任務。
打開連接,用ExecuteScalar檢索資料。ExecuteScalar回傳一個Object,它是結果集的第一行的第一列。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1. 點擊
TextBox1.Text = GetIDByName(txtName.Text)
結束 sub
Private Function GetIDByName(name As String) As String String
Dim ID As String = ""
使用 cn As New SqlConnection("您的連接字串")。
cmd As New SqlCommand("select thisID FROM thisTable where ThisName = @Name" , cn)
cmd.Parameters.Add("@Name"/span>, SqlDbType.VarChar).Value = name
cn.Open()
ID = cmd.ExecuteScalar().ToString
結束 使用[/span
Return ID
結束 功能
編輯部
由于我們現在請求的是一個以上的欄位,所以將函式的回傳型別改為DataTable。DataTable是請求的行和列的記憶體表示。
傳遞給命令建構式的CommandText現在包括兩個欄位。
我應該在我的第一個代碼示例中向您展示如何使用引數。這一點非常重要,因為它將幫助你避免sql注入--這對你的資料庫來說是一個巨大的危險。注意:我已經糾正了第一個代碼片段。@Name是引數的名稱,它被添加到引數集合中。Sql Sever將用引數的值替換CommandText中的@Name。
我正在使用一個DataReader來檢索資料并將其加載到一個DataTable。SqlCommand.ExecuteReader回傳一個DatarReader。
在按鈕代碼中,我參考了第一行的索引0和我們要求的第一個欄位的索引0來填充第一個文本框。對于第二個文本框,該欄位的索引變為1,因為它是第二個欄位。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1. 點擊
Dim dt = GetDataByName(txtName.Text)
TextBox1.Text = dt.Rows(0)(0) .ToString
TextBox2.Text = dt.Rows(0)(1) .ToString
結束 子
Private Function GetDataByName(name As String) As DataTable
Dim dt As New DataTable
使用 cn As New SqlConnection("Your connection string")。
cmd As New SqlCommand("select thisID, ItemName FROM thisTable where ThisName = @Name"/span>, cn)
cmd.Parameters.Add("@Name"/span>, SqlDbType.VarChar).Value = name
cn.Open()
Using reader = cmd.ExecuteReader
dt.Load(reader)
結束 使用
結束 正在使用 正在使用
Return dt
結束 功能
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/308296.html
標籤:
