综合示例

  说明:前面介绍了那么多,光说不练假把式,还是做个实例吧。

  表:首先你要准备一张表,这个自己准备吧。我们以学生表为例。

  1ExecuteScalar方法

    ExecuteScalar方法执行返回单个值的命令。例如,如果想获取Student数据库中表studentInfo的学生的总人数,则可以使用这个方法执行SQL查询:

    Select count(*) from studentInfo .

(1) 建立Windows Application 应用程序

(2) 在Form1上添加一个按钮Button控件和一个标Label签控件

(3) 双击按钮,自动进入代码编辑界面

  首先添加命名空间: using System.Data.SqlClient;

(4)编写按钮的Click事件的处理事件代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace DataBase

{

  public partial class Form1 : Form

{

public Form1()

{

  InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

  try

  {

    //定义命令文本

    string commandText = "select count(*) from studentInfo";

    //定义连接字符串

    string connString="server=(local);Initial Catalog=Student;Integrated Security=SSPI;";

    //string connString= "server=(local);user id=sa;Initial Catalog=Student;pwd=;";

    //定义Connection对象

    SqlConnection conn = new SqlConnection();

    //设置Connection对象的ConnectionString属性

    conn.ConnectionString = connString;

    //新建Command对象,此时conn对象并不需要打开连接

    SqlCommand cmd = new SqlCommand(commandText, conn);

    //打开连接

    conn.Open();

    //执行命令,返回结果

    string count = cmd.ExecuteScalar().ToString();

    //记得关闭连接

    conn.Close();

    this.label1.Text = "共有" + count + "位学生!";

}

catch (Exception ex)

{

    MessageBox.Show("数据库连接失败" + ex.Message);

}

    }

  }

}

  执行结果界面如图:

  

分析代码:

第1步是引入命名空间:System.Data.SqlClient,表示将使用SQL Server.NET 数据提供程序: using System.Data.SqlClient;

第2步是 按钮button1_Click单击事件中首先新建立了连接并设置了其连接字符串属性:

string connString="server=(local);Initial Catalog=Student;Integrated Security=SSPI;";

//string connString= "server=(local);user id=sa;Initial Catalog=Student;pwd=;";

//定义Connection对象

SqlConnection conn = new SqlConnection();

//设置Connection对象的ConnectionString属性

conn.ConnectionString = connString;

第三步,新建Command 对象,并将命名文本和连接对象传递给其构造函数:

SqlCommand cmd = new SqlCommand(commandText, conn);

其中,commandText为最初定义的命名文本:

string commandText = "select count(*) from studentInfo";

此时conn对象没有打开,因为这不是必须的。

第四步 现在需要执行操作了,所以首先要打开连接,然后执行操作:

conn.Open();

string count = cmd.ExecuteScalar().ToString();

由于ExecuteScalar()方法返回类型为object,因此使用了ToString()方法将其转换为string以后赋值给count。

注意:一般使用ExecuteScalar()方法时都必须用到类型转换。

第五步数据库访问完毕以后应该立即关闭连接,这是一个好习惯:

corm.Close();

第六步最后将读取的信息通过label1显示出来:

this.label1.Text="共有"+count+"位学生!";

上面的代码中并没有指定Command对象的CommandType属性,这时CommandType的值将为默认的Text,当然也可以通过如下代码显示指定其类型,但这不是必须的。

cmd.CommandType=CommandType.Text;

C#与数据库访问技术总结(七)综合示例的更多相关文章

  1. C#与数据库访问技术总结(十八)

    ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...

  2. C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看

    数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...

  3. 数据库访问技术 odbc dao rdo uda jet oledb

    一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...

  4. c# 窗体开发4 数据库访问技术

    ADO.NET的名称起源于ADO(ACTIVEX DATA OBJECTS) USING SYSTEM; USING SYSTEM.COLLECTIONS.GENERIC; USING SYSTEM. ...

  5. C#与数据库访问技术总结(十七)

    使用DataSet对象访问数据库 当对DataSet对象进行操作时,DataSet对象会产生副本,所以对DataSet里的数据进行编辑操作不会直接对数据库产生影响,而是将DataRow的状态设置为ad ...

  6. C#与数据库访问技术总结(十六)之 DataSet对象

    DataSet对象 DataSet对象可以用来存储从数据库查询到的数据结果,由于它在获得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访问和操作数据库. 并且,由于DataSet对象具有离线 ...

  7. C#与数据库访问技术总结(十三)之DataReader对象

    DataReader对象与数据获取 DataReader对象以“基于连接”的方式来访问数据库. 也就是说,在访问数据库.执行SQL操作时,DataReader要求一直连在数据库上. 这将会给数据库的连 ...

  8. C#与数据库访问技术总结(十五)之 DataAdapter对象代码示例

    DataAdapter对象代码示例 下面的代码将说明如何利用DataAdapter对象填充DataSet对象. private static string strConnect=" data ...

  9. C#与数据库访问技术总结(十四)之DataAdapter对象

    DataAdapter对象 DataAdapter对象主要用来承接Connection和DataSet对象. DataSet对象只关心访问操作数据,而不关心自身包含的数据信息来自哪个Connectio ...

随机推荐

  1. shellcode流程

    shellcode就是汇编的opcode,一般以子函数形式出现: 取得shellcode的方便方式是: 1.写一个函数如: void __stdcall code(LONG &a, LONG ...

  2. 去掉DLL can move

    1.OptionalHeader.DllCharacteristics = wNewDllCharacteristics; 用CFF打开,如果存在DLL can move这个选项,去掉即可 2.Rel ...

  3. SVN服务器搭建和使用(一)(转)

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  4. hdu 1573 X问题 (非互质的中国剩余定理)

    X问题 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  5. Tableview 优化Cell的复用机制01

    #import "ViewController.h" @interface ViewController ()<UITableViewDataSource> @end ...

  6. Selenium2+python自动化9-CSS定位语法

    前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...

  7. 转贴 IT外企那点儿事完整版

    转贴 IT外企那点儿事完整版 第一章:外企也就那么回儿事(http://www.cnblogs.com/forfuture1978/archive/2010/04/30/1725341.html) 1 ...

  8. 【译】RabbitMQ:"Hello World"

    简介 RabbitMQ是一个消息代理.从本质上讲,它从消息生产者处接收消息,然后传递给消息的消费者.它在消息的生产者和消费者之间根据你指定的规则对消息进行路由.缓存和持久化. RabbitMQ通常使用 ...

  9. jQuery.cookie

    了解cookie先了解一下知识点: Navigator (一般是浏览器)对象包含有关浏览器的信息. Navigator userAgent:是一个只读字符串,声明了浏览器用于HTTP请求的用户代理头的 ...

  10. SublimeText为啥选择Python开发extension

    真正优秀的软件是靠优秀的程序员开发出来的,反过来也一样,优秀的语言,平台,工具只有在优秀的程序员的手中才能显现出它的威力. 比如,Jon Skinner开发的SublimeText.桌面应用一般支持二 ...