1. mysql查詢第一行
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。
2. C#中如何讀取SQL中表的第一行
select min(id) from 表名
C#中可以這樣讀。
dataset ds=數據源綁定DS。
123.TEXT=ds.table[0].rows[0]["欄位名字"].tostring();
如果獲取第二行,
123.TEXT=ds.table[0].rows[1]["欄位名字"].tostring();
獲取上一條下一條,我用的是這個SQL語法
比如, 當前 ID=10
上一條
string sql = "select * from 表 where (select max(id) from 表 where id <" + id + ")";
下一條
string sql = "select * from 表 where id=(select min(id) from 表 where id>" + id + ")";
3. 傳入一個sql語句,返回第一行第一列,怎樣效率最高
.ExecuteScalar();
4. sql server查詢表的第一個欄位/第一列
可以使用如下語句獲得表的第一個欄位的名稱
select column_name from information_schema.columns
where table_name='pay' and ordinal_position=1
修改ordinal_position的值,可以獲取各個欄位的名稱
5. sql取排序後的第一行
SELECT top 1 a.TRANS_DATE
FROM a
WHERE rownum = 1
ORDER BY to_date(to_char(a.TRANS_DATE,'yyyy/MM/dd'),'yyyy/MM/dd') DESC ;
6. C# 調用一個方法,內有一個參數,執行SQL查詢語句,並將結果返回,該方法如何寫
執行SQL語句的結果應該是一個數據集(DataSet),那麼你就應該先把執行結果存儲在一個DataSet變數中(比方為ds),那麼你就可以用下面的語句把結果放入textbox中啦:
textbox1.text=ds.Table[0].Rows[0][0].ToString(); //如果你要的數據不在第一行第一列,把Rows[0][0]中的兩個0換成你要的數據所在的行、列編號就可以啦。
當然你如果你要的數據在第一行第一列,你可以用方法:SqlCommand.ExecuteScalar() 方法(執行查詢,並返回查詢所返回的結果集中第一行的第一列。忽略其他列或行。)
上面兩種都可以,第一種更靈活但不直接
7. 如何獲取sql第一行第一列的值
select top 1 [第一列的列名] from 表名
8. 誰知道sqlCommand幾種方法的總結
此類不能被繼承。我覺得這個類就是起到一個橋梁的作用。他連接.NETt和SQL Server;將我們在客戶端設置的sql語句傳遞給sql;再將sql的值傳遞給客戶端
這個類中定義了很多的方法和屬性來幫助我們完成不同的sql語句;總結三種在機房收費系統中用到的方法
第一種方法:ExecuteScalar
作用: 執行查詢返回值: 返回查詢所返回的結果集中第一行的第一列。 忽略其他列或行。System.Object 結果集中第一行的第一列;如果結果集為空,則為空引用(在 Visual Basic 中為Nothing)適用情況: 使用ExecuteScalar 方法從資料庫中檢索單個值(例如一個聚合值)。與使用 ExecuteReader 方法,然後使用 SqlDataReader 返回的數據執行生成單個值所需的操作相比,此操作需要的代碼較少。 示例代碼:
在VB.NET中從資料庫中取出單個值----使用從recharge求和的語句和
Imports System.Data ' 創建表類型的變數需要引用的空間 Imports System.Data.SqlClient '創建sql資料庫連接需要引用的空間 Imports Entity Imports DateBaseHelper Public Class ConsumeInfoDAL '得到T_Recharge中全部的充值金額 Public Function GetBlance(ByVal strID As String, ByVal consumeCash As String) As String '設置傳入sql中的T_SQL語句:獲得充值的全部金額 Dim strRecharge As String = "SELECT SUM(cast(RechargeCash as int )) FROM T_RechargeInfo where CardID ='" + strID + "' " '打開資料庫 執行上面的sql語句得到結果 關閉資料庫 Dim con As New DBHelper Dim recharge As String con.Open() '需要處理如果表中沒有記錄那麼返回的是false '如果返回false 充值為0 If con.ExecutesqlScalar(strRecharge) = False Then recharge = " 0" Else recharge = con.ExecutesqlScalar(strRecharge) End If con.Close() '返回結果 Return recharge End Function End Class DBHelper類,將對資料庫的常用操作定義成了方法Imports System.Data Imports System.Data.SqlClient Imports System.Data.OleDb Imports System.Text Imports System.Configuration Imports Entity Public Class DBHelper Private myConnection As New SqlConnection '表示數據連接控制項 Private CmdString As String '表示SQL語句命令 Private Cmd As New SqlCommand '表示SQL命令語句的執行 Private Reader As SqlDataReader '表示返回的DataReader對 '********************************************** ' <summary> ' 打開資料庫 ' </summary> ' <returns> ' Boolean true:連接成功 false:連接失敗 ' </returns> '********************************************** Public Function Open() As Boolean '通過讀取app來獲得連接字元串 Dim myConnectionString As String = ConfigurationManager.AppSettings("Connstr") '表示數據字元串 '傳入連接字元串 myConnection.ConnectionString = myConnectionString Try myConnection.Open() Return True Catch ex As Exception Return False End Try End Function '********************************************** ' <summary> ' 關閉資料庫 ' </summary> '********************************************** Public Sub Close() Cmd.Dispose() myConnection.Close() End Sub '********************************************** ' <summary> ' 執行傳入的sql語句 ' </summary> ' <param name="strSQL"> 傳入到資料庫中的SQL語句</param> ' <returns> ' Integer 返回查詢到的結果集的第一行第一列 ' </returns> '********************************************** Public Function ExecutesqlScalar(ByVal strSQL As String) As String Cmd.Connection = myConnection Cmd.CommandText = strSQL 'Dim flag As Object Try '返回查詢到的第一行第一列的值,其他行和列忽略 Return Cmd.ExecuteScalar Catch e As Exception Return False End Try End Function End Class 第二種:ExecuteNonQuery
作用: 對連接執行 Transact-SQL 語句並返回受影響的行數。返回值: 類型:System.Int32 受影響的行數。對於 UPDATE、INSERT 和 DELETE 語句,返回值為該命令所影響的行數。 如果正在執行插入或更新操作的表上存在觸發器,則返回值包括受插入或更新操作影響的行數以及受一個或多個觸發器影響的行數。 對於其他所有類型的語句,返回值為 -1。 如果發生回滾,則返回值也是 -1。 適用情況:
1.使用 ExecuteNonQuery 來執行目錄操作(例如查詢資料庫的結構或創建諸如表等的資料庫對象),或通過執行 UPDATE、INSERT 或 DELETE 語句;ExecuteNonQuery 不返回任何行,但映射到參數的任何輸出參數或返回值都會用數據進行填充。
2.ExecuteNonQuery也會返回後運行查詢影響的記錄數。但是,ExecuteNonQuery不返回任何行或列中的存儲過程。如果您只需要知道更改行數,則使用插入、 更新或刪除語句時最有用的ExecuteNonQuery方法。在存儲過程中使用 SELECT 語句,您收到-1,因為查詢不會影響任何行。
示例代碼:修改密碼--執行存儲過程;在存儲過程中使用 Update 語句,您收到影響的行數。存儲過程代碼:create proc PROC_Modify @UserID char(20),@UserPwd char(20) as update T_UserInfo set UserPwd =@UserPwd where UserID =@UserID go VB.NET代碼 :
Imports System.Data ' 創建表類型的變數需要引用的空間 Imports System.Data.SqlClient '創建sql資料庫連接需要引用的空間 Imports Entity Imports DateBaseHelper Public Class UserInfoDAL '********************************************** ' <summary> ' 修改密碼 ' </summary> ' <param name="< enUser >"><userinfo對象,通過ui層給userid和userpwd賦值></param> ' <returns> ' <boolean> true:代表修改密碼成功 false:代表修改密碼失敗 ' </returns> '********************************************** Public Function AlterPwd(ByVal enUser As UserInfoEntity) As Boolean Implements IUserinfo.AlterPwd Dim flag As Boolean '設置存儲過程參數 Dim strProc As String = "PROC_Modify" Dim sqlParameter() As SqlParameter = { New SqlParameter("UserID", enUser.T_UserID), New SqlParameter("UserPwd", enUser.T_UserPWD)} '實例化con 打開資料庫 調用執行存儲過程函數 關閉資料庫 Dim con As New DBHelper con.Open() flag = con.ExecuteProcBool(strProc, sqlParameter) con.Close() Return flag End Function End Class DBHelper中相對應的方法:
Imports System.Data Imports System.Data.SqlClient Imports System.Data.OleDb Imports System.Text Imports System.Configuration Imports Entity Public Class DBHelper Private myConnection As New SqlConnection '表示數據連接控制項 Private CmdString As String '表示SQL語句命令 Private Cmd As New SqlCommand '表示SQL命令語句的執行 Private Reader As SqlDataReader '表示返回的DataReader對 '********************************************** ' <summary> ' 執行有參數的存儲過程 ' </summary> ' <param name="strProc"> 存儲過程名字</param> '<param name="sqlParameter">存儲過程需要的參數</param> ' <returns> ' Boolean true:代表成功執行了存儲過程 false:代表沒有成功執行 ' </returns> '********************************************** Public Function ExecuteProcBool(ByVal strProc As String, ByVal sqlParameter As SqlParameter()) As Boolean '連接資料庫將存儲名稱和參數傳遞給cmd Cmd.Connection = myConnection '指明為存儲過程 Cmd.CommandType = CommandType.StoredProcere Cmd.CommandText = strProc Cmd.Parameters.AddRange(SqlParameter) Try '執行存儲過程中的語句返回boolean Cmd.ExecuteNonQuery() Return True Catch e As Exception Return False End Try End Function End Class 第三種方法:ExecuteReader
作用: 將CommandText 發送到 Connection 並生成一個 SqlDataReader。 解釋1:將SQL語句發送到指定連接 生成一個SqlDataReader對象
解釋2:當ExecuteReader()執行後返回一個SqlDataReader對象
兩種解釋實際上都在說明些方法就是給SqlDataReader對象一個可以訪問查詢到的結果的渠道。
返回值: 類型:System.Data.SqlClient.SqlDataReader SqlDataReader 對象。 SqlDataReader的Read方法可以使SqlDataReader前進到下一條記錄,同樣返回bool值,當下一條無記錄返回false,則表示記錄讀取完畢;當下一條有數據時為true,將讀取到的數據(當前的一條記錄)暫存在SqlDataReader中。
示例代碼:執行一個Select語句返回的結果是Bool類型;查看錶中是否已經存在記錄Imports System.Data ' 創建表類型的變數需要引用的空間 Imports System.Data.SqlClient '創建sql資料庫連接需要引用的空間 Imports Entity Imports DateBaseHelper Public Class CardInfoDAL Public Function CheckStudentID(ByVal enStudent As Entity.StudentInfoEntity) As Boolean Implements ICardInfo.CheckStudentID Dim flag As Boolean '判斷輸入的stuID是否已經存在 Dim strSQL As String = "select * from T_StudentInfo where StuID='" + enStudent.T_StuID + "' " Dim con As New DBHelper con.Open() flag = con.ExecutesqlBool(strSQL) con.Close() Return flag End Function End ClassDBHelper相對應的方法:Imports System.Data Imports System.Data.SqlClient Imports System.Data.OleDb Imports System.Text Imports System.Configuration Imports Entity Public Class DBHelper Private myConnection As New SqlConnection '表示數據連接控制項 Private CmdString As String '表示SQL語句命令 Private Cmd As New SqlCommand '表示SQL命令語句的執行 Private Reader As SqlDataReader '表示返回的DataReader對 '********************************************** ' <summary> ' 執行傳入的sql語句 ' </summary> ' <param name="strSQL"> 傳入到資料庫中的SQL語句</param> ' <returns> ' Boolean true:代表成功執行了strSQL false:代表沒有成功執行 ' </returns> '********************************************** Public Function ExecutesqlBool(ByVal strSQL As String) As Boolean Cmd.Connection = myConnection Cmd.CommandText = strSQL Dim flag As Boolean Try '返回是否查詢到結果 Reader = Cmd.ExecuteReader() flag = Reader.Read() Reader.Close() Return flag Catch e As Exception Return False End Try End Function End Class
9. sql 獲取分組第一行數據
是oracle資料庫是這樣寫:
select namec,medicinemodel,outlookc,memo2 from (select namec,medicinemodel,outlookc,memo2 from 表名 group by namec,medicinemodel,outlookc,memo2 order by BidPrice) where rownum = 1;
這樣就查出第一行的數據
10. sql server和oracle中查詢結果返回指定行數的語句
SQL Server下查詢結果返回指定行用top命令。
如查詢proct表中的5行數據:
selecttop5*fromproct;