C# 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事件里添加代码:

//数据库连接
private void 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事件里添加代码:

private void 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事件里添加代码:

private void 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事件里添加代码:

private void 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事件里添加代码:

private void 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>
public string DisConnect()
{
string Result;
try
{
myconnection.Close();
Result = "数据连接已断开!";
}
catch (Exception e)
{
MessageBox.Show("数据库断开失败!" + e.ToString());
Result = "连接成功!";
}
return Result;
}

在断开连接按钮的Click事件里添加代码:

private void btDisConnect_Click(object sender, EventArgs e)
{
label1.Text = DisConnect();
}

C# VS2010结合SQL Server 2008数据库编程实现方法的更多相关文章
- SQL Server 2008数据库重命名方法
假设SQL Server 2008中有个数据库test,现在要将其改名为zhy步骤:(1) 分离数据库:打开management studio,找到test数据库-->右键-->任务--& ...
- SQL SERVER 2008 数据库隔离级别代码演示
SQL SERVER 2008 数据库隔离级别代码演示 个隔离级别(其实这是SQL 工业标) 种隔离级别,本身没有优劣之分,完全取决于应用的场景. 本质上,他们是在 隔离性(紊乱程度) 和 灵活性 ...
- 如何转换SQL Server 2008数据库到SQL Server 2005
背景介绍: 公司一套系统使用的是SQL SERVER 2008数据库,突然一天收到邮件,需要将这套系统部署到各个不同地方(海外)的工厂,需要在各个工厂部署该数据库,等我将准备工作做好,整理文档 ...
- SQL SERVER 2008数据库各版本功能对比
微软SQL SERVER 2008数据库有6个版本,分别是数据中心版.企业版.标准版.Web版.工作组版.简易版,有时候购买的时候或需要使用某项功能时,需要了解各个版本的区别,功能差异,很多时候,大部 ...
- 通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...
- SQL Server 2008 数据库镜像部署实例之三 配置见证服务器
SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...
- SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移
SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ...
- SQL Server 2008 数据库镜像部署实例之一 数据库准备
SQL Server 2008 数据库镜像部署实例之一 数据库准备 一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动 ...
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)
参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步
随机推荐
- Luogu P1073 最优贸易
题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双 ...
- Java学习笔记13---如何理解“子类重写父类方法时,返回值若为类类型,则必须与父类返回值类型相同或为其子类”
子类重新实现父类的方法称重写:重写时可以修改访问权限修饰符和返回值,方法名和参数类型及个数都不可以修改:仅当返回值为类类型时,重写的方法才可以修改返回值类型,且必须是父类方法返回值的子类:要么就不修改 ...
- 开源纯C#工控网关+组态软件(六)图元组件
一. 图元概述 图元是构成人机界面的基本单元.如一个个的电机.设备.数据显示.仪表盘,都是图元.构建人机界面的过程就是铺排.挪移.定位图元的过程. 图元设计是绘图和编码的结合.因为图元不仅有显示和 ...
- Unity与iOS原生代码之间的相互调用
1.Unity调用iOS: 1.1.在Unity C#中: [ DllImport( "__Internal" )] private static extern int _show ...
- 新一代 CI 持续集成工具 flow.ci 正式开源
很高兴地宣布 flow.ci 在 Apache-2.0 协议下正式开源了.flow.ci 是国内首套开源持续集成(CI) 解决方案,帮助企业团队实现开发流程(build-test-deploy)自动化 ...
- 实用的jQuery技巧
1.回到顶部按钮 利用jQuery里的animate和scrollTop方法,你便不需要使用插件创建简单的滚动到顶部动画. // Back to top $('.top').click(functi ...
- C# Excel写入数据及图表
开发工具:VS2017 语言:C DotNet版本:.Net FrameWork 4.0及以上 使用的DLL工具名称:GemBox.Spreadsheet.dll (版本:37.3.30.1185) ...
- TensorFlow —— Demo
import tensorflow as tf g = tf.Graph() # 创建一个Graph对象 在模型中有两个"全局"风格的Variable对象:global_step ...
- Exif Info 隐私政策
隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐 ...
- 【tyvj P4879】骰子游戏
http://www.tyvj.cn/p/4879 首先,投一个骰子,每个数字出现的概率都是一样的.也就是不算小A的话,n个人投出x个骰子需要的次数和点数无关. 计数问题考虑dp,令f(i,j)为前i ...