sqlserver的select
❶ 如何返回sqlserver 中存儲過程的select的結果集
有兩種方式啊 可以直接在 存儲過程中 select ,執行存儲過程 後會有那個結果列表查詢出來
或者建一張臨時表 insert into #t1 EXEC 過程名
❷ sqlserver中select語句問題
cmd.ExecuteNonQuery();只對update、insert、delete三者起作用,會返回所影響的數目,但select語句不行,返回均為-1。用ExcuteScalar()就會返回所影響的數目:string
sSql
=
"SELECT
COUNT(*)
As
iRowCount
FROM
Orders";
SqlCommand
Cmd=new
SqlCommand(sSql,conn);
Cmd.CommandType
=
CommandType.Text;
int
iCount
=
(int)Cmd.ExecuteScalar();看到這一句應該明白了吧
❸ sqlserver根據條件"select * "查詢資料庫存儲過程
比如你要用存儲過程查詢圖書資料庫里圖書的信息
用模糊查詢
--模糊查詢圖書的存儲過程
--判斷,如果已經存在相同名稱的存儲過程就將其刪除
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE NAME = 'PRO_SELECTBOOKINFO')
DROP PROCEDURE PRO_SELECTBOOKINFO
GO
CREATE PROCEDURE PRO_SELECTBOOKINFO --創建存儲過程
@BOOKNAME VARCHAR(20)='', --聲明變數,圖書名稱
@TYPENAME VARCHAR(20)='', --聲明變數,閱讀者姓名
@AUTHOR VARCHAR(10)='', --聲明變數,作者
@PRESS VARCHAR(10)='' --聲明變數,出版社
AS
DECLARE @SQL VARCHAR(1000) --聲明變數,儲存資料庫語句
--初始化數據粗語句
SET @SQL = 'SELECT BOOKNAME,TYPENAME,AUTHOR,PRESS FROM BOOKINFO AS A JOIN BOOKTYPE AS B ON A.TYPEID=B.TYPEID WHERE 1=1'
--根據書名模糊查詢
if(@BOOKNAME<>'')
BEGIN
SET @SQL=@SQL+'AND BOOKNAME LIKE'+'''%'+@BOOKNAME+'%'''
END
--根據類型名模糊查詢
if(@TYPENAME<>'')
BEGIN
SET @SQL=@SQL+'AND TYPENAME LIKE'+'''%'+@TYPENAME+'%'''
END
--根據作者模糊查詢
if(@AUTHOR<>'')
BEGIN
SET @SQL=@SQL+'AND AUTHOR LIKE'+'''%'+@AUTHOR+'%'''
END
--根據出版社模糊查詢
if(@PRESS<>'')
BEGIN
SET @SQL=@SQL+'AND PRESS LIKE'+'''%'+@PRESS+'%'''
END
SELECT @SQL AS 'T-SQL語句' --查詢使用的SQL語句
EXECUTE(@SQL) --運行SQL語句
GO
EXECUTE PRO_SELECTBOOKINFO 'H','','','' --執行存儲過程