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创建对象,后面的(8mysqldatareader.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MULTI BIN的wince 5.0,smdk2440下的实现

原本早就要发出来了,但是看到king_sundi网友已经发过一个帖子了,所以犹豫了没有发,相对而言,我这个总结更具有实用性,基本上照着这个步骤来就能成功,我给我几个朋友试过了,他们一开始对这个基本…

【转】gcc/g++ 链接库的编译与链接

转自:gcc/g 链接库的编译与链接_Surge-CSDN博客_g 链接 gcc/g 链接库的编译与链接 surgewonggmail.com Surge_surgewong_CSDN博客 程序编译一般需要经预处理、编译、汇编和链接几个步骤。在实际应用中,有些公共代码需要反复使用,就把这些代…

常用WebServices返回数据的4种方法比较

以前经常在群里听到朋友们说WebServices的性能特别的慢,说的如何如何。说实话,WebServices的确比调用本地数据要慢一些,可是究竟有多慢,真的如朋友们说的那么难以忍受吗?我个人感觉,多半原因在处理的方式上…

让S3c2410里拥有HIVE注册表的 全部步骤

首先,我是花了几天的时间才搞好的,当然我也在网上找了很多资料,可是网上朋友说可行的方法,我试来试去就是不行,这我也不清楚为什么,一开始有说用到BINFS格式的[指NandFlash分区格式],后来又看到…

【转】vscode下编译告警“undefined reference”?三步教你如何解决

转自:vscode下编译告警“undefined reference”?三步教你如何解决_squall0984的博客-CSDN博客 近些年来,由于VS Studio体积庞大、价格昂贵等原因,越来越多的C/C开发者转投VSCode的怀抱。VSCode有着免费1、开源2、多平台支持、占…

写在S3C2440A平台+winCE5.0+NAND +HIVE注册表的实现

最近一直弄这个注册表的永久保存,在网上看到很多相关的贴子,就像大部分人说的一样,很少有人照着做就可以成功的。 今天总算成功了,总结经验如下,但愿对后来者有所帮助。 首先,要实现注册表的永久保存&…

非常实用的Asp.net常用的51个代码

1.弹出对话框.点击转向指定页面 Code: Response.Write("<script>window.alert(该会员没有提交申请,请重新提交&#xff01;)</script>");Response.Write("<script>window.location http://www.msproject.cn/index.asp</script>");…

【转】VScode tasks.json和launch.json的设置

转自&#xff1a;VScode tasks.json和launch.json的设置 - 知乎 目录 C&#xff08;方法1&#xff1a;不使用VSCode插件&#xff0c;较繁琐&#xff09;C&#xff08;方法2&#xff1a;使用Native Debug插件&#xff09;C&#xff08;方法3&#xff1a;使用C/C Compile Run插…

小处见大问题

如果有以下几种很简单的需求&#xff0c;可是小需要中隐藏着大问题。 给页面添加4个web按钮&#xff0c;点击4个按钮分别实现 &#xff08;1&#xff09;打开一个摸态对话框 &#xff08;2&#xff09;页面在客户端转向 &#xff08;3&#xff09;页面转向并且进行一个服务器端…

巧手定制Windows CE系统

嵌入式系统正在日益广泛的应用于各个方面&#xff0c;嵌入式系统的最大特点在于其精简和实时性。公司近期委派我负责一个新的嵌入式系统项目&#xff0c;因为是小型设备&#xff0c;所以我面临的第一个难题是需要找一个体积少&#xff0c;但非常灵活添加外围接口的嵌入式系统。…

【转】vscode配置C/C++环境

转自&#xff1a;vscode配置C/C环境 - 知乎 VS Code配置作者&#xff1a;谭九鼎 链接&#xff1a;Visual Studio Code 如何编写运行 C、C 程序&#xff1f; - 知乎 有改动。个人按照步骤后&#xff0c;做到复制上三个json那一步&#xff0c;就可以运行了。 我将settings.json…

Boot Loader的启动流程和开发经验总结

Windows CE最大程度继承了桌面版Windows的丰富功能&#xff0c;但是Windows CE并不是一个通用的安装版操作系统。在形形色色的嵌入式设备世界里&#xff0c;一款CE系统通常只会针对某一种硬件平台生成。 一般来说&#xff0c;Windows CE的开发过程可以分为&#xff1a;0AL…

c# 相对路径的一些文献

1.获取和设置当前目录的完全限定路径。string str System.Environment.CurrentDirectory;Result: C:\xxx\xxx2.获取启动了应用程序的可执行文件的路径&#xff0c;不包括可执行文件的名称。string str System. Windows .Forms.Application.StartupPath;Result: C:\xxx\xxx3.获…

【转】dicom网络通讯入门(1)

转自&#xff1a;dicom网络通讯入门&#xff08;1&#xff09; - assassinx - 博客园 如果只看标准就会越看越糊涂&#xff0c;根本原因就是因为dicom抽象得太严重&#xff0c;是“专家”弄的。没办法。 那么到底服务类是什么&#xff1f;sop 又是什么&#xff1f;&#xff0…

三种嵌入式操作系统的分析与比析

1.1 嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心&#xff0c;面向用户、面向产品、面向应用&#xff0c;软硬件可裁减的&#xff0c;适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。 嵌入式系统应具有的特点是&#xff1a;高可靠性&#…

用WebORB实现flex + .net后台的Remoting

实现flex与后台通信最简单的方式是采用httpServic的方式&#xff0c;或webservice。但这两种方式都是基于文本的传输&#xff0c;传输效率低&#xff0c;采用RemoteObject的方式&#xff0c;传输的内容采用AMF3格式的二进制编码&#xff0c;效率较高&#xff0c;并且能实现远程…

【转】dicom网络通讯入门(2)

转自&#xff1a;dicom网络通讯入门&#xff08;2&#xff09; - assassinx - 博客园 首先我们现一个echo响应测试工具&#xff0c;也就是echo 的scu&#xff0c;不是实现打印作业管理么。同学我告诉你还早着呢。本来标题取的就是《dicomviewer 第二弹 之 实现打印管理》名字多…

基于WINCE6.0下载multiple XIP镜像文件

备注&#xff1a;基于usb下载的方式&#xff0c;MLC nand flash为K9G8G08U 1. Multiple XIP模式的文件说明 Multiple XIP模式下生成的文件有chain.bin、chain.lst、NK.bin、xip.bin和xipkernel.bin&#xff0c;如下图所示&#xff1a; 图1 2. Eboot下载Multiple XI…

Final Michael Scofield

转载于:https://www.cnblogs.com/andrewx/archive/2009/08/16/1547738.html

【转】dicom网络通讯入门(3)

转自&#xff1a; dicom网络通讯入门&#xff08;3&#xff09; - assassinx - 博客园 接下来可以进行消息传递了 &#xff0c;也就是dimse &#xff0c;再来复习下 什么是dimse 。n-set n-create c-echo 这些都是dimse 他们都是属于一种结构的pdu 那就是tf-pdu&#xff08;传…