C#连接数据库方式
现在刚学C#数据库编程,局域网C/S架构应用程序,与数据库的连接是程序启动后就一直保持与数据库的连接,直到程序退出,还是采用短连接的方式,就是想要对数据库进行操作就要进行数据库连接,查询数据,关闭数据库连接这一系列操作?数据库是sql server 2000. --------------------编程问答-------------------- 以前我用powerbuilder,都是采用程序启动就连接数据库,然后一直保持连接状态,直到程序退出才断开数据库连接。 --------------------编程问答-------------------- 用完就关,别等到程序退出 --------------------编程问答-------------------- 需要连接的时候在连接 用完就关闭 --------------------编程问答-------------------- 建立连接,用的时候open 用完close --------------------编程问答-------------------- 推荐你看一下ADO.NET。 --------------------编程问答--------------------try--------------------编程问答--------------------
{
open();
}
catch()
{
}
finally
{
close();
}
using(SqlConnection conn = new SqlConnection(str))--------------------编程问答-------------------- 在ADO.NET中,那个不叫做“短连接、关闭数据库”。
{
conn.Open();
``````
}
你了解SqlClient等等的ADO.NET实现具有数据库连接池技术么?
既然中间有连接池,你又哪里去真正关闭数据库连接了呢?你关闭的不过是对连接池的连接对象,根本没有关闭数据库连接。
因此这里没有什么仅仅肤浅地“规定”就能放之四海而皆准的写法。对于有连接池的,你就要考虑这样写代码,否则就会出现“已经独占、不能再次打开”之类的系统崩溃异常;而对于没有连接池的,你就要测试一下是不是需要另外的写法,同时你也该学学测试一下(例如asp.net之类的)多线程处理是否不会崩溃?是否性能还行? --------------------编程问答-------------------- 用sqlhelper类吧。都写好了直接调用就行了。
http://www.cnblogs.com/liwuyi/archive/2012/05/16/2505461.html 微软SQLHelper.cs类 中文版 --------------------编程问答-------------------- ADO.NET如果你认真看几遍的话,应该可以找到你要的 --------------------编程问答-------------------- 请问c#数据库编程有什么书可以看看的,一个入门,一个深入的 --------------------编程问答-------------------- c#初级、高级编程 --------------------编程问答-------------------- 建立连接,用的时候open 用完close --------------------编程问答-------------------- try{ open(); } catch() { } finally{ close(); } --------------------编程问答-------------------- 百度下载一个SqlHelp类学习一下 --------------------编程问答-------------------- VB.NET SQLHelper --------------------编程问答-------------------- 这个类,引用一下就可以了,我也是参考别人的,可以用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace schoolInformation
{
class DBHelper
{
SqlDataReader datareader = null;
SqlCommand com = null;
SqlConnection conn = null;
//构造函数
public DBHelper()
{
string url = "server=(local);user id=sa;password=123;database=Infor";
conn = new SqlConnection(url);
conn.Open();
com = new SqlCommand();
com.Connection = conn;
}
//用于联接
public string dataBind()
{
string url = "server=(local);user id=sa;password=123;database=Infor";
return url;
}
//增,删,
public int addDel(string sql)
{
com.CommandText = sql;
int rows = com.ExecuteNonQuery();
return rows;
}
//查询一条
public double selectOne(string sql)
{
double count;
com.CommandText = sql;
if (com.ExecuteScalar() is DBNull)
{
count = 0;
}
else
{
count = Convert.ToDouble(com.ExecuteScalar());
}
return count;
}
//查询多条
public SqlDataReader selectAll( string sql)
{
com.CommandText = sql;
datareader = com.ExecuteReader();
return datareader;
}
public void getCloset()
{
conn.Close();
}
}
}
--------------------编程问答-------------------- 楼主先查查wcf吧
补充:.NET技术 , C#