C#连接数据库SQL(2005)
首先来总结一下进行数据库编程的全过程,这里用的是SQL SERVER
(1) 建立SqlConnection对象以连接数据库
SqlConnection mysqlconnection=new SqlConnection("Server=localhost; database=yourdatabase;uid=sa;pwd=sa");
(2) 建立SqlCommand对象
SqlCommand mysqlcommand=mysqlconnection.CreateCommand();
(3) 设置SqlCommand对象的CommandText属性
mysqlcommand.CommandText="SELECT * FROM youydatabasetablename";
(4) 打开SqlConnection对象
mysqlconnection.open();
(5) 运行SELECT语句
SqlDataReader mysqldatareader=mysqlcommand.ExecuteReader();
本人初学,此处疑惑,还望高手解答:
此处没有SqlDataReader mysqldatareader=new SqlDataReader();而是直接执行,可以吗?
如果没有new创建对象,后面的(8)mysqldatareader.Close(); 需要关闭吗?谢谢高人解答!!!
(6) 用SqlDataReader对象读行
mysqldatareader.Read();
(7) 显示SqlDataReader对象中的数值
yourtextbox.Text=mysqldatareader["ID"].ToString(); //ID是你数据库中的一项列名
(8) 关闭SqlDataReader对象
mysqldatareader.Close();
本人初学,此处疑惑,还望高手解答:
需要关闭mysqlcommand吗 即mysqlcommand.Close() 还是因为调用了CreateCommand()方法而不需要关闭吗?
(9) 关闭SqlConnection对象
mysqlconnection.Close();
下面把过程呈现出来.
1、在我的程序中用的是SQL,所以在程序头前加上
using System.Data.SqlClient;
2、在Form1中加入应有的控件,用于显示数据.
3、申请变量
static private int m = 1; //显示每条记录
static private int k; //得到记录条数
SqlCommand mysqlcommand;
SqlConnection mysqlconnection;
4、连接数据库,注意这里的连接字符串,用的是安全类型.
try
{
mysqlconnection = new SqlConnection("server=localhost;
Integrated Security=True;Database=myfriends");
mysqlcommand = mysqlconnection.CreateCommand();
//得到记录条数
mysqlcommand.CommandText = "SELECT COUNT(*) FROM Friends";
mysqlconnection.Open();
k = (int)mysqlcommand.ExecuteScalar();
GetData(1);
}
catch (SqlException ex)
{
MessageBox.Show("A SqlException was thrown,Number = " +
ex.Number + //错误号
ex.Message + //错误描述字符串
ex.StackTrace); //抛出异常的类名和方法名字符串
}
5、如果数据库中有多条记录就要逐条显示
在逐条显示的按钮事件中:
m += 1; //下一条索引值
if (m > k)
{
MessageBox.Show("最后一条!将显示第一条记录!", "信息提示");
m = 1;
}
this.hisname.Text = ""; //要显示下条,当然先清空
this.hissex.Text = "";
this.hisadress.Text = "";
this.hisbirthday.Text = "";
GetData(m); //显示下第数据
6、在显示数据中用到显示下一条函数;
private void GetData(int i)
{
mysqlcommand.CommandText = "SELECT ID,Name,Sex,"+ "birthday,address FROM Friends WHERE ID="+i;
SqlDataReader mysqldatareader = mysqlcommand.ExecuteReader();
mysqldatareader.Read();
this.hisname.Text = mysqldatareader["Name"].ToString();
this.hissex.Text = mysqldatareader["Sex"].ToString();
this.hisadress.Text = mysqldatareader["Address"].ToString();
this.hisbirthday.Text = mysqldatareader["Birthday"].ToString();
mysqldatareader.Close();
}
转载声明:本帖转自 http://www.cnblogs.com/bober/articles/640740.html
转载于:https://www.cnblogs.com/wdpp/archive/2009/08/06/2387047.html
C#连接数据库SQL(2005)相关推荐
- PDA连接远程SQL 2005数据库
最近因为项目里面需要用到一个使用PDA连接远程SQL 2005数据库,进行数据操作的功能,程序DeBug下的exe文件可以正常连接数据库及相关的数据操作,但是只要一部署到PDA上面就提示 无法找到 D ...
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案 病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号"???" 解决办法: 第一种办法 ...
- SQL 2005新增的几个函数之学习
sqlserver 2005新增函数学习(转载) 原文:SQL 2005新增的几个函数之学习 今天学习了sql server 2005新增的几个函数,分别是row_number(),rank,DENS ...
- sql 2005学习笔记1
sql 2005学习笔记1 最近开始看赵松涛的<SQL 2005数据奥秘>,发现是本十分不错的独特的SQL 2005的书,讲了很多深入的东西,现学习之并每次笔记要点之. 1 SQL 200 ...
- SQL 2005完全卸载,重新安装
1.Stop 所有服务 2.用 Windows Install Clean Up 工具卸载SQL 2005组件 3.用SrvInstw.exe删除所有SQL服务 4.清除注册表 a. 将HKEY_CU ...
- SQL 2005 Oct CTP 和VS2005 for CTP安装的情况
October CTP release of Sql Server 2005 Installation issues and resolution http://weblogs.asp.net/wal ...
- SQL 2005启用组件Ad Hoc Distributed Queries
转载 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作 ...
- 在已有SQL 2005 Server 群集中添加节点
在已有SQL 2005 Server 群集中添加节点 在SQL群集中一个节点不可用后,需要重新安装操作系统,然后再进行群集节点恢复工作.其基本操作流程如下: 1. 在正常可用的节点上打开群集管理器,进 ...
- SQL 2005清除事务日志
SQL 2005清除事务日志 DUMP TRANSACTION 数据库名称 WITH NO_LOG BACKUP LOG 数据库名称 WITH NO_LOG DBCC SHRINKDATABASE( ...
最新文章
- 关于Jenkins部署代码权限三种方案
- Oracle存储过程创建及调用(转)
- 机器学习笔记——K-means
- 『Go 语言底层原理剖析』文末送书
- 动态网页开发技术(一):Servlet
- [译]使用asp.net mvc 的工具提示
- android 字符串转字节数组,java – 在Android中将字节数组转换为Charsequence
- linux系统取代windows,Linux不可能取代Windows
- dell装双系统linux系统,记录DELL灵越7590/7591安装Ubuntu+Win10双系统
- OSChina 周五乱弹 —— 你用学习机来搞学习?
- 20120321java
- DataParallel使用
- 闲谈Python语言入门
- FPGA驱动步进电机
- 计算机音乐演奏jojo,【FF14】诗人演奏用 il vento d'oro(动画《JOJO的奇妙冒险 黄金之风》插曲)...
- DELL win10插入耳机后声音仍然外放(亲测有效)
- ping服务器时显示的ttl是什么意思,ping命令显示的TTL是什么意思?
- pycharm双击打不开,没有反应,下列方法亲测有用!
- Python Revisited Day 08 (高级程序设计技术)
- Bat(批处理)文件编写手册(一)