用VS2015新建sql server 存储过程,怎么写条件查询?求发个例子

用VS2015新建sql server 存储过程,怎么写条件查询?求发个例子,第1张

CREATE proc [dbo].[Pr_Page]

(

@tblName nvarchar(2000)='',/*要显示的表或多个表的连接*/

@fldName nvarchar(800) = '*', /*要显示的字段列表*/

@pageSize int = 15, /*每页显示的记录个数*/

@page int = 1,/*要显示那一页的记录*/

@pageCount int = 1 output,/*查询结果分页后的总页数*/

@Counts int = 1 output, /*查询到的记录数*/

@fldSort nvarchar(200) = null,/*排序字段列表或条件*/

@Sort int = 0,/*排序方法,0为升序,1为降序(如果是多字段:SortA Asc,SortB Desc,SortC */

@strCondition nvarchar(3500) ='', /*and 1=1*/

@ID nvarchar(150),/*主表的主键*/

@Dist int = 0 /*是否添加查询字段的 DISTINCT 默认0不添加/1添加*/

)

AS

begin

declare @Sqltxt nvarchar(4000),@Sqltxt1 nvarchar(2000),@Sqltxt2 nvarchar(4000)

Declare @FSortType nvarchar(5),@SqlSelect nvarchar(50),@SqlCounts nvarchar(50)

if @Dist = 0

begin

set @SqlSelect = 'select '

set @SqlCounts = 'Count(*)'

end

else

begin

set @SqlSelect = 'select distinct '

set @SqlCounts = 'Count(DISTINCT '+@ID+')'

end

if @Sort=0 set @FSortType=' ASC'else set @FSortType=' desc'

set @Sqltxt1 ='select @Counts='+@SqlCounts+' FROM '+@tblName+' where (1>0) ' + @strCondition

exec sp_executesql @Sqltxt1,N'@Counts int out ',@Counts out

declare @tmpCounts int

if @Counts = 0 set @tmpCounts = 1 else set @tmpCounts = @Counts

set @pageCount=(@tmpCounts+@pageSize-1)/@pageSize/*取得分页总数 大于总页数显示最后一页*/

if @page>@pageCount

set @page=@pageCount

set @Sqltxt2='('+@SqlSelect+' top 100 percent '+@fldName+',ROW_NUMBER() OVER(ORDER BY '+@fldSort+@FSortType+') AS RowID from '+@tblName+' where 1=1 ' + @strCondition+' order by RowID) TBA'

set @Sqltxt='select * from '+@Sqltxt2+' where RowID between '+CAST(@pageSize*(@page-1)+1 as varchar(10))+' and '+CAST(@pageSize*@page as varchar(10))+' ORDER by RowID'

print @Sqltxt

exec (@Sqltxt)

end

GO

望采纳.通用分页查询语句,自己数据拷的

选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点

右键单击【数据库】节点,从d出来的快捷菜单中选择【新建数据库】命令。

执行上述 *** 作后,会d出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。

在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。

切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到【文件组】页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。

Sql数据库连接参考示例

public void 数据集测试()

        {

            //(1.连接)建立到数据库的 连接 conn

            SqlConnection conn = new SqlConnection()

            conn.ConnectionString = @"Data Source = (LocalDB)\MSSQLLocalDB AttachDbFilename = J:\数据库\SQLDB\NewDB.mdf Integrated Security = True Connect Timeout = 5"

            //(2.打开)

            conn.Open()

            string 表名 = "Users"

            using (conn)

            {           

            //(3.适配)适配器 da 和 数据集 ds

            da = new SqlDataAdapter()

            ds = new DataSet("DataSet1")

            //var dt = new DataTable()

            //ds.Tables.Add(dt)

            //(4.Select命令)填充命令 cmd

            da.SelectCommand = new SqlCommand(@"select * from " + 表名)

            //(5.Fill到数据集)

            da.Fill(ds, 表名)

            }

            //(6.释放资源)

            conn.Close()

            conn.Dispose()

            //访问数据集中的表

            DataTable myTable = ds.Tables[表名]

            foreach (DataRow myRow in myTable.Rows)

            {

                foreach (DataColumn myColumn in myTable.Columns)

                {

                    Console.WriteLine(myRow[myColumn]) //遍历表中的每个单元格

                }

            }

            //修改数据

            foreach (DataRow row in myTable.Rows)

            {  row["name"] = row["name"] + "备份" }

            // 将DataSet的修改提交至“数据库”

            SqlCommandBuilder mySqlCommandBuilder = new SqlCommandBuilder(da)

            da.Update(ds, 表名)

            //注意:在修改、删除等 *** 作中表必须定义主键,select的字段也必须包含主键,

            //否则会抛出异常“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成。”

        }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6769580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存