+ -
当前位置:首页 → 问答吧 → 轻松将PostgreSQL集成到.NET上

轻松将PostgreSQL集成到.NET上

时间:2010-10-24

来源:互联网

如果你已经用.NET做过很多编程的话,上面的代码就应该相对比较简单。为了进一步说明这一点,列表D中的VB.NET在Customers表的所有数据中循环,然后显示在一个简单的HTML表格中。列表E提供了C#代码的等价量.

列表D

<%@ Page language="vb" %>


<%@ Import Namespace="System.Data" %>


<%@ Import Namespace="Npgsql" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >


<html><head><title>ostgreSQL Example 2</title>


<script language="vb" runat="Server">


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles MyBase.Load


Dim conn As NpgsqlConnection


Dim comm As NpgsqlCommand


Dim sdr As NpgsqlDataReader


Try
conn = New NpgsqlConnection("Server=127.0.0.1ort=5432;Userid=Test;password=testrotocol=3;
SSL=falseooling=true;MinPoolSize=1;MaxPoolSize=20;Encoding=UNICODE;Timeout=15;SslMode=Disable"
comm = New NpgsqlCommand
comm.Connection = conn
conn.Open()
comm.CommandType = CommandType.Text
comm.CommandText = "SELECT ""LName"", ""FName"" FROM ""Customers"";"
sdr = comm.ExecuteReader()
Response.Write("<table border=""1"">"
Response.Write("<tr><th>Last Name</th><th>First Name</th></tr>"


While (sdr.Read())
Response.Write("<tr>"
Response.Write("<td>"
Response.Write(sdr(0))
Response.Write("</td>"
Response.Write("<td>"
Response.Write(sdr(1))
Response.Write("</td>"
Response.Write("</tr>"


End While
Response.Write("</table>"
sdr.Close()


Catch ex As Npgsql.NpgsqlException
Response.Write("ostgre Exception: " + ex.ToString())


Catch ex As Exception
Response.Write("Exception: " + ex.ToString())


Finally


If (conn.State = System.Data.ConnectionState.Open) Then
conn.Close()


End If
conn.Dispose()
comm.Dispose()
sdr.Dispose()


End Try


End Sub

</script></head>


<body>


<form id="frmPostgreSQLExample2" method="post" runat="server">


</form></body></html>

作者: lockend   发布时间: 2010-10-24

列表E

<%@ Page language="c#" %>


<%@ Import Namespace="System.Data" %>


<%@ Import Namespace="Npgsql" %>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >


<html><head><title>ostgreSQL Example 2</title>


<script language="C#" runat="Server">


private void Page_Load(object sender, System.EventArgs e) {
NpgsqlConnectionconn = null;
NpgsqlCommandcomm = null;
NpgsqlDataReadersdr = null;
DataSetds = new DataSet();


try {
conn = new NpgsqlConnection("Server=127.0.0.1ort=5432;Userid=Test;password=test;
Protocol=3;SSL=falseooling=true;MinPoolSize=1;MaxPoolSize=20;Encoding=UNICODE;Timeout=15;SslMode=Disable";
comm = new NpgsqlCommand();
comm.Connection = conn;
conn.Open();
comm.CommandType = CommandType.Text;

comm.CommandText = "SELECT * FROM "Customers";";
sdr = comm.ExecuteReader();
Response.Write("<table border="1">";
Response.Write("<tr><th>Last Name</th><th>First Name</th></tr>";


while (sdr.Read()) {
Response.Write("<tr>";
Response.Write("<td>";
Response.Write(sdr[0]);
Response.Write("</td>";
Response.Write("<td>";
Response.Write(sdr[1]);
Response.Write("</td>";
Response.Write("</tr>";


}

Response.Write("</table>";
sdr.Close();


} catch (Npgsql.NpgsqlException ex){
Response.Write("ostgre Exception: " + ex.ToString());


} catch (Exception ex) {
Response.Write("Exception: " + ex.ToString());


} finally {


if (conn.State == System.Data.ConnectionState.Open) {
conn.Close();


}
conn.Dispose();
comm.Dispose();
sdr.Dispose();


} }


</script> </head><body>


<form id="frmPostgreSQLExample2" method="post" runat="server">

<aspataGrid id="dgCustomers" runat="server" />


</form></body></html>

另一个选择

Microsoft推动SQL Server成为解决所有商业需求的数据库解决办法,但是对于一些小机构来说,高昂的费用使它们望而却步。像PostgreSQL这样的开放源代码解决方案提供了一个不需要相关许可证费用的强大数据库平台。非常幸运的是,开放源代码社区开发了这样一种.NET数据提供器,使得你能够很轻松地在.NET应用中利用PostgreSQL服务器。

作者: lockend   发布时间: 2010-10-24