.NET连接各种数据库

.NET可以与目前流行的数据库建立连接,建立连接后便可以访问和查询该数据库中的数据。现在一一介绍几种数据库的连接方式,希望对大家有所帮助。

1. 与Oracle数据库的连接:

在与oracle数据库连接的时候,需要为项目添加oracle组件,右键点击树型菜单,点击Add Resource->Com->选择oracle data contral.
需要的命名空间:
using System.Data;
using System.Data.OracleClient;
连接示例:
OracleConnection conn=new OracleConnection(StoneFunction.neworacleconn(project));
String station_fail ="select count(distinct productid) as total from stationinfo";
// 获取每个测试工站的测试总数,测试pass数,测试fail数,良率yield
OracleCommand cmd=new OracleCommand(station_fail,conn);
conn .Open()
int badnum =StoneFunction.GetCountRecordNew(station_fail,project,conn,cmd);// 不良的个数
conn .Dispose();conn.Close();cmd.Dispose();// 连接完成后释放连接.
 
2. 与SQL Server数据库的连接:
需要的命名空间:

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

连接示例:

2.1 向数据库中插入数据的示例

//建立和数据库的连接
string str = "data source=.\\sqlexpress;database=ForumDB;trusted_connection=true";
SqlConnection conn= new SqlConnection(str);
conn.Open();

string sql = "insert into loginuser(username,sex) values(@a,@b)";
SqlCommand cmd = new SqlCommand(sql,conn);
//要给临时参数@a和@b赋值,分别为TextBox1的值
//和TextBox2的值
cmd.Parameters.AddWithValue("@a",TextBox1.Text);
cmd.Parameters.AddWithValue("@b",TextBox2.Text);
//执行insert语句
//a变量等于受影响的行数
int a = cmd.ExecuteNonQuery();
if(a>0)
{
Response .Write("插入成功");
//实现GridView的再次绑定
BindData();
}
else
{
Response.Write("插入失败");
}
conn.Close();

2.2 利用GridView绑定数据的示例

protected void BindData()
{
string connstr = "Data Source=.\\sqlexpress;database=ForumDB;Integrated Security=True";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
string sql = "select * from loginuser";
SqlDataAdapter da =new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}

然后在 Page_Load中加载次方法即可绑定数据,方法如下:

if (!IsPostBack)
{
//GridView绑定
BindData();
}

3. 与Access数据库的连接:

需要的命名空间:

using System.Data.OleDb;
using System.Data;

连接示例:

3.1 利用一个Dropdownlist和两个Textbox在Access表中查询数据的示例:

OleDbConnection odbc = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|Product.mdb;");
odbc.Open();
string sql = "SELECT * FROM [Products] WHERE ([Group] LIKE '"+DropDownList1.SelectedValue+"') AND ([Price] BETWEEN " + TextBox1.Text + " AND " + TextBox2.Text + ")";
OleDbCommand cmd = new OleDbCommand(sql, odbc);
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.HasRows == false)
{
gvProductInfo.DataSource = null;
gvProductInfo.DataBind();
Response.Write("<script language=javascript>alert('NOT FOUND DATA')</script>");
}
else
{
gvProductInfo.DataSource = dr;
gvProductInfo.DataBind();
}

3.2 将数据绑定到Dropdownlist中:

public void DropDownListSelect()
{
//OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|Product.mdb;");
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath(".\\App_Data\\Product.mdb"));
//conn.Open();
string strSql = "SELECT DISTINCT [Group] FROM [Products]";
OleDbDataAdapter ada = new OleDbDataAdapter(strSql, conn);
DataSet ds = new DataSet();
ada.Fill(ds, "Products");
this.DropDownList1.DataSource = ds.Tables["Products"].DefaultView;
//DropDownList1.DataValueField = ds.Tables["Products"].Columns[3].ColumnName;
//DropDownList1.DataTextField = ds.Tables["Products"].Columns[3].ColumnName;
DropDownList1.DataTextField = "Group";
DropDownList1.DataValueField = "Group";
DropDownList1.DataBind();
DropDownList1.Items.Insert(0, new ListItem("", ""));
conn.Close();
}

然后在 Page_Load中加载次方法即可绑定数据,方法如下:

if (!IsPostBack)
{
DropDownListSelect();
}

4. 与Excel的连接:

string path = "c:\book1.xls";

string strConnection = "provider=microsoft.jet.oledb.4.0;data source=" + path + ";extended properties=excel 8.0;";

string sql = "select * from [sheet1$]";

OleDbConnection objConnection = new OleDbConnection(strConnection);

 

"c:\book1.xls "文件的路径

"provider=microsoft.jet.oledb.4.0"是指数据提供者,这里使用的是Microsoft Jet引擎,也就是excel中的数据引擎,asp.net就是靠这个和excel的数据库连接的.

"data source"是指明数据源的位置

"[sheet1$]" sheet1为excel里标的名称,用法:[name$]

转载于:https://www.cnblogs.com/ggw9792/p/3280188.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值