C#-VS SQLServer数据库编程-摘
ado.net
通用类对象。在本地内存暂存数据
托管类对象。让本地通用类对象连接数据库,让本地通用类对象和数据库同步
- 连接数据库
- 用command或dataset类对象读取、添加、更新、删除数据
- 用datasetview或datatable.params类对象筛选数据
- 用table类对象保存读取xml文件
VS2010结合SQL Server 2008数据库编程实现方法
SQL Server 数据库在C#编程中经常用到,如何实现在具体项目中数据库和具体应用的结合是我们经常遇到的问题,我们这次主要针对如何使用SQL Server 数据库展开,下面是具体的操作以及简单的代码实现,希望对大家有帮助 。
环境:
Windows 7 旗舰版 x86
Visual Studio 2010 旗舰版
SQL Server 2008数据库
.NET Framework 4
步骤一:打开Visual Studio 2010,新建项目,选择Windows应用程序,取名
smSQLServerTest,点击确定,建立项目。
步骤二:为Form1重命名为MainForm,界面设计如下:
步骤三:右键设计窗体进入代码区,在开始部分添加命名空间的引用
using System.Data.SqlClient;
步骤四:定义数据库连接对象为全局变量,代码位置与连接,查询等函数并列
SqlConnection myconnection;//定义一个数据库连接对象
第一部分 SQL Server数据库的连接
下面我们开始实现SQL Server 数据库的连接功能 。
在连接按钮的Click事件里添加代码:
//数据库连接privatevoid btConnect_Click(object sender, EventArgs e) { try { myconnection = new SqlConnection("Integrated Security=SSPI;Initial Catalog=人事管理系统;Data Source=SHAOYONG-PC\\MYSQLSERVER;User ID=sa;Password=gis123"); myconnection.Open(); //打开数据库
label1.Text = "数据库连接成功!"; } catch (Exception ee) { MessageBox.Show("数据库连接失败!" + ee.ToString()); } }
第二部分 SQL Server数据库的查询
在查询按钮的Click事件里添加代码:
privatevoid btQueryAll_Click(object sender, EventArgs e) { try { string SQL = "select * From 部门表"; SqlDataAdapter objDataAdpter = new SqlDataAdapter(); objDataAdpter.SelectCommand = new SqlCommand(SQL, myconnection); DataSet ds = new DataSet(); objDataAdpter.Fill(ds, "部门表"); dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ee) { MessageBox.Show("查询失败!" + ee.ToString()); } }
第三部分 SQL Server数据库中记录的插入
在插入按钮的Click事件里添加代码:
privatevoid btInsertToDatabase_Click(object sender, EventArgs e) { try { string strSQL1 = "insert into 部门表(部门名,部门号,管理者) values('销售部',97003,'李四')"; SqlDataAdapter objDataAdpter = new SqlDataAdapter(); SqlCommand thisCommand = new SqlCommand(strSQL1, myconnection); thisCommand.ExecuteNonQuery(); string strSQL2 = "select * From 部门表"; SqlDataAdapter objDataAdpter1 = new SqlDataAdapter(); objDataAdpter1.SelectCommand = new SqlCommand(strSQL2, myconnection); DataSet ds = new DataSet(); objDataAdpter1.Fill(ds, "部门表"); dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ee) { MessageBox.Show("插入数据失败!" + ee.ToString()); } }
第四部分 SQL Server数据库中记录的修改
在修改按钮的Click事件里添加代码:
privatevoid btModifiFeildValue_Click(object sender, EventArgs e) { try { string strSQL1 = "update 部门表 set 管理者='张五' where 部门号=97002"; SqlCommand thisCommand = new SqlCommand(strSQL1, myconnection); thisCommand.ExecuteNonQuery(); string strSQL2 = "select * From 部门表"; SqlDataAdapter objDataAdpter1 = new SqlDataAdapter(); objDataAdpter1.SelectCommand = new SqlCommand(strSQL2, myconnection); DataSet ds = new DataSet(); objDataAdpter1.Fill(ds, "部门表"); dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ee) { MessageBox.Show("更新数据失败!" + ee.ToString()); } }
第五部分 SQL Server数据库中记录的删除
在删除按钮的Click事件里添加代码:
privatevoid btDeleteFeildValue_Click(object sender, EventArgs e) { try { string strSQL1 = "delete from 部门表 where 部门号=97002"; SqlCommand thisCommand = new SqlCommand(strSQL1, myconnection); thisCommand.ExecuteNonQuery(); string strSQL2 = "select * From 部门表"; SqlDataAdapter objDataAdpter1 = new SqlDataAdapter(); objDataAdpter1.SelectCommand = new SqlCommand(strSQL2, myconnection); DataSet ds = new DataSet(); objDataAdpter1.Fill(ds, "部门表"); dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ee) { MessageBox.Show("删除数据失败!" + ee.ToString()); } }
第六部分 SQL Server数据库的关闭
在类里添加函数 string DisConnect(),代码如下:
///<summary>//断开与SQL Server数据库的连接///</summary>publicstring DisConnect() { string Result; try { myconnection.Close(); Result = "数据连接已断开!"; } catch (Exception e) { MessageBox.Show("数据库断开失败!" + e.ToString()); Result = "连接成功!"; } return Result; }
在断开连接按钮的Click事件里添加代码:
privatevoid btDisConnect_Click(object sender, EventArgs e) { label1.Text = DisConnect(); }
C#-VS SQLServer数据库编程-摘的更多相关文章
- 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPRO ...
- 提高你的数据库编程效率:Microsoft CLR Via Sql Server
你还在为数据库编程而抓狂吗?那些恶心的脚本拼接,低效的脚本调试的日子将会与我们越来越远啦.现在我们能用支持.NET的语言来开发数据库中的对象,如:存储过程,函数,触发器,集合函数已及复杂的类型.看到这 ...
- 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11
参考地址: http://www.cnblogs.com/lyhabc/p/3505677.html SQLPROMPT5.3对各种加密对象的解密测试 SQL2005解密已经被加密的存储过程 昨天ah ...
- java 数据库编程 学习笔记 不断更新
最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序 → 执行SQL语句 →数据库 → 检索数据结果 → 应用程序 ( ...
- Java JDBC数据库编程
课程 Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL ...
- Expression构建DataTable to Entity 映射委托 sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。 sql server 多行数据合并成一列 C# 字符串大写转小写,小写转大写,数字保留,其他除外 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法 纯CSS打造淘宝导航菜单栏 C# Winform
Expression构建DataTable to Entity 映射委托 1 namespace Echofool.Utility.Common { 2 using System; 3 using ...
- Sqlserver数据库发送邮件
目录 1. Sqlserver数据库发送邮件 1.1. 概念了解 1.2. 配置 1.3. 测试发送邮件 1.3.1. 代码测试 1.3.2. 工具测试 1.4. 查看邮件日志 1. Sqlserve ...
- SQLServer数据库查询语法
SQLServer数据库查询语法 前言: SQLServer数据库介绍: SQLServer数据库是微软公司推出的一款关系型数据库系统,SQL Server是一个可扩展的.高性能的.为分布式客户机/服 ...
- PowerDesigner从SqlServer数据库中导入实体模型
PowerDesigner从SqlServer数据库中导入实体模型 时间 2013-06-28 10:26:34 CSDN博客 原文 http://blog.csdn.net/sxycxwb/art ...
随机推荐
- 遇到返回键会退到页面的问题(window.location)
我的需求是a全局列表页->b展示列表页->c新增页(编辑页)我从b展示列表页,通过编辑进入c编辑页,保存回到b展示列表页. 重,我的b展示列表页,返回要返回的其实是a全局列表页*使用rep ...
- ----转载----【前端工具】Chrome 扩展程序的开发与发布 -- 手把手教你开发扩展程序
关于 chrome 扩展的文章,很久之前也写过一篇.清除页面广告?身为前端,自己做一款简易的chrome扩展吧. 本篇文章重在分享一些制作扩展的过程中比较重要的知识及难点. 什么是 chrome 扩展 ...
- c# 24种设计模式
备忘录模式(Memento Pattern) 策略模式(Strategy Pattern) 抽象工厂模式(Abstract Factory Pattern) 代理模式(Proxy Pattern) 单 ...
- hdu 1059 (多重背包) Dividing
这里;http://acm.hdu.edu.cn/showproblem.php?pid=1059 题意是有价值分别为1,2,3,4,5,6的商品各若干个,给出每种商品的数量,问是否能够分成价值相等的 ...
- HISAT2,StringTie,Ballgown处理转录组数据
HISAT2,StringTie,Ballgown处理转录组数据 本文总阅读量次2017-05-26 HISAT2,StringTie,Ballgown处理转录组数据思路如下: 数据质控 将RNA-s ...
- POJ3417 Network
一道LCA+树上差分 原题链接 显然每一条新增边都会导致环. 如果试着举些例子的话,很容易发现割掉非环上的边,则割掉其他任意一条新增边都可达成目标:若割掉的原有边是一个环上的边,那么只有割掉导致这个环 ...
- 简单的node 服务端 响应get,返回json数据;
原文:http://blog.csdn.net/xn_28/article/details/50837019 const http = require('http'); const hostname ...
- BZOJ 3123 [SDOI2013] 森林 - 启发式合并 主席树
Description 给你一片森林, 支持两个操作: 查询$x$到$y$的$K$大值, 连接两棵树中的两个点 Solution 对每个节点$x$动态开权值线段树, 表示从$x$到根节点路径上权值出 ...
- 在nginx中,禁止IP访问.只可以使用域名访问.
if ($host ~* "\d+\.\d+\.\d+\.\d+"){ ; } 其实说白了, 就是进行host主机头过滤,使用正则来判断下.
- Spring PropertyResolver 占位符解析(二)源码分析
Spring PropertyResolver 占位符解析(二)源码分析 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) ...