王朝网络
分享
 
 
 

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

王朝c#·作者佚名  2007-08-03
宽屏版  字体: |||超大  

由于最近和数据库打交道,需要用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区给出.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有