(项目积累的)SQL数据库点滴
最近的的系统用的数据库是mssql,软件mssql 2008 r2
1、存储过程:后勤的综合管理系统(后端内网访问)三层架构配套用的是存储过程,里面列表展示的都是用存储过程,如下:
1)数据库脚本
USE [ProjectDB]
GO
/****** Object: StoredProcedure [dbo].[UP_NetworkBugInfo_List_select] Script Date: 09/18/2016 21:44:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:类菌体
-- Create date: --
-- Description: 分页查询信息
-- =============================================
ALTER procedure [dbo].[UP_NetworkBugInfo_List_select]
@StartIndex int=,--分页开始序号
@EndIndex int=,--分页结束序号
@WhereSql nvarchar()='',--分页查询条件
@RecordCount int= output --当前条件下的总记录数
as
begin
declare @sql nvarchar(max)
declare @total int set @sql='select @n=count(1) from NetworkBugInfo a where 1=1 '+@WhereSql
exec sp_executesql @sql, N'@n int output',@total output --@sql相当于procedure主体,N'@n int'相当于参数部分,相当于procedure调用 set @RecordCount=@total set @sql='select * from
(select row_number() over(order by t1.NetworkBugId desc) as Row, t1.NetworkBugId,t1.InternetNumber,t1.Username,t1.BugType,t1.PhoneNumber,t1.ShortNumber,t1.Campus,t1.Building,t1.Room,t1.BugDetail,t1.SubmitTime,t1.State,t1.OnePrincipal,t1.SubmitIp,t1.OrderTimes,t1.UserNames,t1.bxfs from NetworkBugInfo t1
where = '+@WhereSql+' ) a where Row between '+convert(varchar(100), @StartIndex)+' and '+convert(varchar(100), @EndIndex)
exec(@sql)
end
2)、主要操作数据库的方法
/// <summary>
/// 根据条件分页查询信息
/// </summary>
/// <param name="pageIndex">当前页码</param>
/// <param name="pageSize">每页大小</param>
/// <param name="whereSql">分页查询条件</param>
/// <param name="recordCount">out参数,当前条件下的总记录数</param>
/// <returns>分页查询后的信息</returns>
public DataTable GetList(int pageIndex, int pageSize, string whereSql, out int recordCount)
{
DataTable dt = null;
int startIndex = pageIndex <= ? : ((pageIndex - ) * pageSize + );
int endIndex = startIndex + pageSize - ;
SqlParameter[] parms = {
new SqlParameter("@StartIndex",SqlDbType.Int),
new SqlParameter("@EndIndex",SqlDbType.Int),
new SqlParameter("@WhereSql",SqlDbType.NVarChar,),
new SqlParameter("@RecordCount",SqlDbType.Int)
};
parms[].Value = startIndex;
parms[].Value = endIndex;
parms[].Value = whereSql;
parms[].Direction = ParameterDirection.Output;
dt = SQLHelper.GetDataTable(CommandType.StoredProcedure, "UP_NetworkBugInfo_List_select", parms);
recordCount = Convert.ToInt32(parms[].Value);
return dt;
}
2、随机查询:有时候需要随机选出一些数据。比如有一个后期回访的活动,需要随机抽取某些客户的数据
order by newid() select TOP * from lybug where State=' 完成处理' order by newid() ---含义代表随机抽取10条记录
3、查询插入:主要使用比如一般从excel导入mssql都会直接导入形成一个表,导入方法可以使用mssql2008r2,导进去记得转换下数据类型形成一个表对象以后,可以直接选择该对象的字段插入到目标表记录中
同步就业基地
insert into tb_sx_jdinfo(_mc,_jgm,_xxdz,_lxdh,_dwjj,_kfr,kfdw,jyjiid,sfzy,Cxqhzdq,compTypeID,compTradeID) select b.compName,b.OrganizationCode,b.compAdress,b.compContactTel,b.compRemark,b.userCode,b.kfdw,b.compID,,b.compCityID,b.compTypeID,b.compTradeID
from compJobState as t join newCompBasic as b on t.CompID=b.compID join newCompJob as j on t.jobID=j.jobID
where t.CountYear='' and b.IsBasic=''
4、微软sql server 尽量使用sqlserver 2008r2版本,备份,导出数据等可以选择知导出结构,导出数据,导出结构和数据,在查询窗体下查询结果可以选择复制(带表头)
5、查询重复,删除重复 (只保留一条)
select * from tb_sx_jdinfo where _mc in (select _mc from tb_sx_jdinfo group by _mc having count(_mc) > )
delete from tb_sx_jdinfo where _mc in (select _mc from tb_sx_jdinfo group by _mc having count (_mc) > ) and _dm not in (select min(_dm) from tb_sx_jdinfo group by _mc having count(_mc)>)
6、查询账户不为空
select loginid as 工号,lastname as 姓名 from HrmResource where isnull(loginid,'')<>''
(项目积累的)SQL数据库点滴的更多相关文章
- KTV项目 SQL数据库的应用 结合C#应用窗体
五道口北大青鸟校区 KTV项目 指导老师:袁玉明 歌曲播放原理 SQL数据库关系图 C#解决方案类图 第一步:创建数据库连接方法和打开方法和关闭方法! public class DBHelper { ...
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
- C# web项目中sql数据库转sqlite数据库
最近做了一个小网站,用到了一个使用sql server 2005的.net cms系统,但是现在我所买虚拟主机的服务商,不给虚拟主机提供sql server服务了,那就转数据库吧,转啥好呢,思来想去, ...
- SQL Server2008从入门到全面精通 SQL数据库视频教程
第1章 SQL Server 2008入门知识:1.SQL SERVER 2008简介2.数据库概念3.关系数据库4.范式5.E-R模型6.SQL Server 2008体系结构7.安装IIS服务8. ...
- jquery autocomplete实现读取sql数据库自动补全TextBox
转自我本良人 原文 jquery autocomplete实现读取sql数据库自动补全TextBox 项目需要这样子一个功能,其他部门提的意见,只好去实现了哦,搞了好久才弄出来,分享一下. 1.前台页 ...
- matlab连接sql数据库
最近项目还涉及到matlab连接数据库,下面我就记录如何进行配置使得matlab能够连接sql数据库.由于最近工程做的多一些,所以分享的都在工程配置上,当初为了这些配置可是反复卸载与重装,算法其实也有 ...
- 收缩SQL数据库日志文件
收缩SQL数据库日志文件 介绍具体的操作方法前,先说下我操作的实际环境和当时的状况.我的服务器是windows server 2008 R2 64位英文版,数据库是SQL server 2008英文版 ...
- 【MongoDB】MongoDB VS SQL数据库
MongoDB和SQL数据库都能满足数据库的基本功能:1.有组织的存放数据:2.按照需求查询数据 传统的SQL数据库(e.g.Oracle, MySQL) 对表的运用不够灵活,横向扩展不太容易,而它的 ...
- 聚焦 SQL 数据库活动异地复制
Tobias Ternstrom US-DS-PM 首席部门项目经理 本文作为一系列业务连续性和灾难恢复文章的开篇,概述了业务连续性的各种场景,然后重点介绍 SQL 数据库高级服务级别提供的活动异地 ...
随机推荐
- leetcode-162-寻找峰值
题目描述: 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返回任何一 ...
- POJ 2370
//我的解题思路是先把输入的含有n个元素的数组a排序(从小到大),然后对前(n+1)/2个元素作如下的处理, //s+= (a[i]+1)/2 #include <iostream> #i ...
- POJ 1183
#include<iostream> #include<stdio.h> using namespace std; int main() { //freopen("a ...
- openerp学习笔记 视图样式(表格行颜色、按钮,字段只读、隐藏,按钮状态、类型、图标、权限,group边距,聚合[合计、平均],样式)
表格行颜色: <tree string="请假单列表" colors="red:state == 'refuse';blue:state = ...
- 【Java并发编程】:死锁
当线程需要同时持有多个锁时,有可能产生死锁.考虑如下情形: 线程A当前持有互斥所锁lock1,线程B当前持有互斥锁lock2.接下来,当线程A仍然持有lock1时,它试图获取lock2,因为线程B正持 ...
- 删除Open with Atom右键菜单
特别特别讨厌Atom的右键菜单,叕没有设置项可以去掉,烦!安装完RegScanner v2.15汉化版之后,开始搜索删除Atom的右键菜单 1.打开E:\RegScanner2.加载配置文件 E:\R ...
- 全连接层(FC)与全局平均池化层(GAP)
在卷积神经网络的最后,往往会出现一两层全连接层,全连接一般会把卷积输出的二维特征图转化成一维的一个向量,全连接层的每一个节点都与上一层每个节点连接,是把前一层的输出特征都综合起来,所以该层的权值参数是 ...
- 入坑python 自己写的小工具,纪念一下
这个程序的功能是可以从表格中读取某一列数据,传到IDs 这一个参数里,然后在url中获取相应的请求值,并打印 import urllib.request import json import xlrd ...
- Qt5 编程基础
Qt 是一个C++ GUI应用框架,Qt 具有良好的可移植性支持大多数桌面和移动操作系统并常用于嵌入式开发. Qt的发行版分为商业版和开源版,提供了Qt Creator作为轻量级IDE. Hello ...
- vue-webpack 做出来的项目部署到服务器上,点开是空白页(我这里把项目发布到git上)
总结1: 从网上下的很多demo,用npm run dev 就可以启动项目,比如:vue-cli,为什么?因为vue-cli自动帮我们安装了express服务器. 总结2: npm run dev 是 ...