C#数据库操作的3种典型用法

转载 2007年09月28日 23:55:00
由于最近和数据库打交道,需要用C#和SQL Server 2005进行操作,就把近段时间内的最常用的操作做个总结.本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的.

以下是我在visual studio 2005上写的一个类(连的是SQL Server 2005),已经过测试通过.里面有3个方法比较典型,在此把源码贴出:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
 
namespace DatabaseOperate
...{
    
class SqlOperateInfo
    
...{
        
//Suppose your ServerName is "aa",DatabaseName is "bb",UserName is "cc", Password is "dd"
        private string sqlConnectionCommand = "Data Source=aa;Initial Catalog=bb;User ID=cc;Pwd=dd";
        
//This table contains two columns:KeywordID int not null,KeywordName varchar(100) not null
        private string dataTableName = "Basic_Keyword_Test";
 
        
private string storedProcedureName = "Sp_InertToBasic_Keyword_Test";
        
private string sqlSelectCommand = "Select KeywordID, KeywordName From Basic_Keyword_Test";
        
//sqlUpdateCommand could contain "insert" , "delete" , "update" operate
        private string sqlUpdateCommand = "Delete From Basic_Keyword_Test Where KeywordID = 1";
 
        
public void UseSqlReader()
        
...{
            SqlConnection sqlConnection 
= new SqlConnection(sqlConnectionCommand);
            SqlCommand sqlCommand 
= new SqlCommand();
            sqlCommand.CommandType 
= System.Data.CommandType.Text;
            sqlCommand.Connection 
= sqlConnection;
            sqlCommand.CommandText 
= sqlSelectCommand;
 
            sqlConnection.Open();
            SqlDataReader sqlDataReader 
= sqlCommand.ExecuteReader();
            
while(sqlDataReader.Read())
            
...{
                
//Get KeywordID and KeywordName , You can do anything you like. Here I just output them.
                int keywordid = (int)sqlDataReader[0]; 
                
//the same as: int keywordid = (int)sqlDataReader["KeywordID"]
                string keywordName = (string)sqlDataReader[1]; 
                
//the same as: string keywordName = (int)sqlDataReader["KeywordName"]
                Console.WriteLine("KeywordID = " + keywordid + " , KeywordName = " + keywordName);
            }

 
            sqlDataReader.Close();
            sqlCommand.Dispose();
            sqlConnection.Close();
        }

        
public void UseSqlStoredProcedure()
        
...{
            SqlConnection sqlConnection 
= new SqlConnection(sqlConnectionCommand);
            SqlCommand sqlCommand 
= new SqlCommand();
            sqlCommand.CommandType 
= CommandType.StoredProcedure;
            sqlCommand.Connection 
= sqlConnection;
            sqlCommand.CommandText 
= storedProcedureName;
 
            sqlConnection.Open();
            sqlCommand.ExecuteNonQuery();
            
//you can use reader here,too.as long as you modify the sp and let it like select * from ....
 
            sqlCommand.Dispose();
            sqlConnection.Close();
        }

        
public void UseSqlDataSet()
        
...{
            SqlConnection sqlConnection 
= new SqlConnection(sqlConnectionCommand);
            SqlCommand sqlCommand 
= new SqlCommand();
            sqlCommand.CommandType 
= System.Data.CommandType.Text;
            sqlCommand.Connection 
= sqlConnection;
            sqlCommand.CommandText 
= sqlSelectCommand;
 
            sqlConnection.Open();
            SqlDataAdapter sqlDataAdapter 
= new SqlDataAdapter();
            sqlDataAdapter.SelectCommand 
= sqlCommand;
            DataSet dataSet 
= new DataSet();
            
//sqlCommandBuilder is for update the dataset to database
            SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
            sqlDataAdapter.Fill(dataSet, dataTableName);
 
            
//Do something to dataset then you can update it to Database.Here I just add a row
            DataRow row = dataSet.Tables[0].NewRow();
            row[
0= 10000;
            row[
1= "new row";
            dataSet.Tables[
0].Rows.Add(row);
 
            sqlDataAdapter.Update(dataSet, dataTableName);
 
            sqlCommand.Dispose();
            sqlDataAdapter.Dispose();
            sqlConnection.Close();
        }

    }

}

 
以上的程序概括了最典型的用法,也是最基本的用法.更多的用法我将会陆续给出,大家有什么疑问或建议,欢迎来信(jiangbiao0827@163.com)或留言.关于SQL Server的使用和心得,我也会在近期在DataBase区给出.
 

C#数据库操作的3种典型用法

由于最近和数据库打交道,需要用C#和SQL Server 2005进行操作,就把近段时间内的最常用的操作做个总结.本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的.      ...
  • selfxd
  • selfxd
  • 2007年08月03日 09:10
  • 670

C#数据库操作的3种典型用法

由于最近和数据库打交道,需要用C#和SQL Server 2005进行操作,就把近段时间内的最常用的操作做个总结.本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的.      ...
  • hpc82
  • hpc82
  • 2007年05月28日 18:30
  • 406

c#数据库操作的3种典型用法

由于最近和数据库打交道,需要用C#和SQL Server 2005进行操作,就把近段时间内的最常用的操作做个总结.本人也是第一次用C#操作数据库,所以这三种典型用法对初学者还是挺有帮助的.      ...
  • ziliaoxz
  • ziliaoxz
  • 2011年01月09日 13:19
  • 144

三个Statement区别,用法

statement对象作为最基本的数据操作对象,可以应用于几乎所有的数据库,但是由于运行时使用的是字符串连接技术,所以存在安全隐患。 preparedstatement:叫做预编译的对象,在语句执行...
  • dief913975849
  • dief913975849
  • 2011年09月21日 12:50
  • 1346

C#学习(三)—语句控制

一、选择语句(根据某个条件是否为True来将程序控制权移交给特定的流程) 1、if语句         此语句主要用来做选择,可与else结合使用。    (1)其声明语言如下: ...
  • gxq741718618gxq
  • gxq741718618gxq
  • 2013年02月16日 19:13
  • 658

总结 @ 在 C# 中的用法

一 字符串中的用法1。地球人都知道 C# 中 字符串常量可以以 @ 开头声名,这样的优点是转义序列“不”被处理,按“原样”输出,即我们不需要对转义字符加上 / (反斜扛),就可以轻松coding。如,...
  • powerboy
  • powerboy
  • 2007年10月30日 13:12
  • 346

C# 三种序列化

Binary 引用 using System.Runtime.Serialization.Formatters.Binary; \\User.cs [Serializable] ...
  • QingHeShiJiYuan
  • QingHeShiJiYuan
  • 2016年08月25日 12:29
  • 158

C#学习——三种语句结构

三种语句结构:顺序、选择、循环 总述:     以前我们学过VB,都知道VB中有三大语句结构:顺序,选择和循环。这三种语句结构构成了VB最基本的语句结构。随着对C#学习的不断深入,发现编程语言都是相通...
  • m15732622413
  • m15732622413
  • 2016年01月29日 20:14
  • 694

二级指针使用举例

一:无法把指针变量本身传递给一个函数 函数实参接收的实际是一个指针变量(p)的复制,如p_copy,而非指针变量本事,通过p_copy可以改变p指向的变量的值,而不能改变p本身的值。 eg:(参考...
  • LISNGWEI
  • LISNGWEI
  • 2015年03月06日 11:55
  • 254

C# 字符串之 Split()、Join()使用

很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能需要加入分隔符(如CSV文件中的逗号),或使用一个分隔符来合并字符串序列。   很多人都知道使用split()的方法,但使用与其对应的...
  • ht_gaogao
  • ht_gaogao
  • 2014年08月22日 11:47
  • 1550
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: C#数据库操作的3种典型用法
举报原因:
原因补充:

(最多只允许输入30个字)