ADO.NET中的基本SQL操作

基本的SQL语句:
1. 检索数据
 使用查询:SELECT、FROM关键字
 查看所有:SELECT * FROM <table>
 选择特定的列:SELECT employeeid, firstname, lastname FROM employees
 使用WHERE子句:SELECT firstname, lastname, country FROM employees WHERE country='USA'
 使用通配符:LIKE '....',用 % 代替一坨字符,用 _ 代替一个字符,用 [] 定义一个子界,用 [^] 定义反子界
 集合:BETWEEN 400 AND 500,或者 IN ('Seattle', 'London')
 逻辑连接词:AND NOT OR
 排序:OERDER BY <column> [ASC|DESC],可以用 , 来分隔任意多列

2. 插入数据
 INSERT INTO <table>
 (<column 1>,<column 2>,...<column N>)
 VALUES (<value1>,<value2>,...<value N>)

3. 更新数据
 UPDATE <table>
 SET <column 1>=<value 1>,<column 2>=<value 2>,...<column N>=<value N>
 WHERE <predicate>

4. 删除数据
 DELETE FROM <table>
 WHERE <predicate>

 

    然后就是SQL数据类型与C#数据类型的不同:

数值数据
SQL      C#
bigint   long
bit      bool
decimal  decimal
float    double
int      int
Real     float
Smallint short
Tinyint  byte

字符串数据
SQL: char, nchar, text, ntext, varchar, nvarchar
C#: string

日期时间
SQL: DateTime, smallDateTime
C#: SqlDateTime

二进制
SQL: binary, image, varbinary
C#: byte[]

货币数据类型
SQL: money, smallmoney
C#: decimal

其它
SQL               C#
cursor            X
sql_variant       Object
table             X
timestamp         byte[]
uniqueidentifier  System.Guid

 

    采用我昨天看到的两个ADO.NET组件——SqlConection 和 SqlCommand ,结合 SqlDataReader ,就可以实现对SQL Server的基本操作了,下面提供一个完整的例子,大家可以从中看到一些良好的编程风格,尤其是对异常处理的那一部分,堪称初学者必学之作:

using System;
using System.Data;
using System.Data.SqlClient;

class SQLServerProvider
{
 static void Main(string[] args)
 {

  // 建立连接字符串
  string connString=@"server=(local)\ipc; integrated security=true;database=northwind";

  // 建立查询字符串
  string sql=@"select * from employees";

  // 声明连接和 datareader 变量
  SqlConnection conn=null;
  SqlDataReader reader=null;

  try
  {
   // 打开连接
   conn=new SqlConnection(connString);
   conn.Open();

   // 执行查询
   SqlCommand cmd=new SqlCommand(sql,conn);
   reader=cmd.ExecuteReader();

   // 显示输出头
   Console.WriteLine("该程序使用 SQL Server Data Provider。");
   Console.WriteLine("查询数据库 {0} 使用查询 {1}\n",conn.Database,cmd.CommandText);
   Console.WriteLine("First Name\tLast Name\n");

   // 处理结果数据集
   while (reader.Read())
   {
    Console.WriteLine("{0}|{1}",reader["FirstName"].ToString().PadLeft(10),reader[1].ToString().PadLeft(10));
   }
  }
  catch (Exception err)
  {
   Console.WriteLine("Error: "+err);
  }
  finally
  {
   // 关闭连接
   reader.Close();
   conn.Close();
  }
 }
}

    我的SQL Server 配置是在本机上的,一个叫做ipc的服务,其中安装了Micro$oft的Northwind示例数据库。看不懂的请Email我,或者干脆买一本《C#数据库入门经典(第2版)》,自己对着看。这是一个控制台程序,不需要窗体,直接编译就可以运行,作用是查询employees表中的Firstname和Lastname两个列。其实查询的时候是所有列都查了,但是在WriteLine的时候只输出这两列而已。

转载于:https://www.cnblogs.com/ori8/archive/2009/08/12/1544546.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值