ASP.NET接口
1.安装Visual Studio 2019
微软官网下载并安装Visual Studio 2019
2.新建Web网站
-
打开Visual Studio 2019,在搜索框中输入asp,选择如下选项。

-
配置项目信息,单击新建。

-
创建空项目。

3.添加库类
-
显示所有文件,单击小红框内的按钮。


-
拷贝Nuxsql.dll和Mono.Security.dll
将Nuxsql.dll和Mono.Security.dll拷贝到项目的bin目录文件夹下。
-
添加库文件
在项目中,右键“Bin”=>“添加”=>“现有项”,选择Nuxsql.dll和Mono.Security.dll,单击添加。
-
添加引用
在项目中,右键单击“引用”=>“添加应用”=>浏览选中Nuxsql.dll和Mono.Security.dll,单击确定。

4.添加UXDB.cs接口类
-
新增App_Code
右键“项目名称”,选择“添加”=>“添加APS.NET”=>“App_Code”。

-
新建UXDB.cs
App_Code下新建UXDB.cs,右键“App_Code”=>“添加”=>“添加新项”=>选择Visual C#的类=>修改文件名UXDB.cs,单击添加。


-
添加UXDB.cs的代码,如下所示。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //using System.Windows.Forms; using System.Data; using Nuxsql; public class UXDB { DataSet DS; bool ECode; string ErrString; NuxsqlConnection Conn = new NuxsqlConnection(); public UXDB(string ServerName, string ServerPort, string DBName, string UserName, string Pwd) { ECode = false; Conn.ConnectionString = "Server=" + ServerName + ";Port=" + ServerPort + ";User Id=" + UserName + ";Password=" + Pwd + ";Database=" + DBName; try { Conn.Open(); } catch (Exception e) { ECode = true; ErrString = e.Message; } } public DataSet GetRecordSet(string sql) { NuxsqlCommand sqlCmd = new NuxsqlCommand(); sqlCmd.Connection = Conn; sqlCmd.CommandText = sql; try { NuxsqlDataAdapter adp = new NuxsqlDataAdapter(sqlCmd); DS = new DataSet(); adp.Fill(DS); } catch (Exception e) { ErrString = e.Message; ECode = true; return null; } return DS; } public int ExecuteSQLScalar(string Sqls) { string s; NuxsqlCommand sqlCmd = new NuxsqlCommand(); sqlCmd.Connection = Conn; sqlCmd.CommandText = Sqls; sqlCmd.CommandType = CommandType.Text; try { s = sqlCmd.ExecuteScalar().ToString(); } catch (Exception e) { ErrString = e.Message; ECode = true; return -1; } return (int.Parse(s)); } public string ExecuteSQLScalarTOstring(string Sqls) { string s; NuxsqlCommand sqlCmd = new NuxsqlCommand(); sqlCmd.Connection = Conn; sqlCmd.CommandText = Sqls; sqlCmd.CommandType = CommandType.Text; try { s = sqlCmd.ExecuteScalar().ToString(); } catch (Exception e) { ErrString = e.Message; ECode = true; return "-1"; } return s; } public string ExecuteSQLWithTrans(string Sqls) { string s; NuxsqlTransaction myTrans; myTrans = Conn.BeginTransaction(); NuxsqlCommand sqlCmd = new NuxsqlCommand(); sqlCmd.Connection = Conn; sqlCmd.CommandText = Sqls; sqlCmd.CommandType = CommandType.Text; sqlCmd.Transaction = myTrans; sqlCmd.ExecuteNonQuery(); //Sqls="SELECT @@IDENTITY AS ID"; sqlCmd.CommandText = Sqls; try { s = sqlCmd.ExecuteScalar().ToString(); } catch (Exception e) { ErrString = e.Message; ECode = true; myTrans.Commit(); return ""; } myTrans.Commit(); return (s); } public void ExecuteSQL(string Sqls) { NuxsqlCommand sqlCmd = new NuxsqlCommand(); sqlCmd.Connection = Conn; sqlCmd.CommandText = Sqls; sqlCmd.CommandType = CommandType.Text; try { sqlCmd.ExecuteNonQuery(); } catch (Exception e) { ErrString = e.Message; ECode = true; } } public NuxsqlDataReader DBDataReader(string Sqls) { NuxsqlCommand sqlCmd = new NuxsqlCommand(); sqlCmd.Connection = Conn; sqlCmd.CommandText = Sqls; sqlCmd.CommandType = CommandType.Text; try { return sqlCmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception e) { ErrString = e.Message; ECode = true; return null; } } public void DBClose() { try { Conn.Close(); } catch (Exception e) { ErrString = e.Message; ECode = true; } } public bool ErrorCode() { return ECode; } public string ErrMessage() { return ErrString; } ~UXDB() { } }
5.创建窗体
-
新建Default.aspx
右键“项目名称”,“添加”=>“添加新项”=>“Visual C#”=>“Web窗体”,单击添加。
注意 文件名必须为Default.aspx,在后面的编译过程中类名和文件名必须保持一致。

-
Default.aspx文件中添加测试代码
Default.aspx.cs代码如下所示。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Nuxsql; public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //added by qinglong.ou //NuxDB myDb = new NuxDB("localhost", "5432", "postgres", "postgres", "123456"); UXDB myDb = new UXDB("192.168.1.82", "5432", "test", "uxdb", "123456"); string retStr = ""; string testSql = "select * from student"; NuxsqlDataReader reader = myDb.DBDataReader(testSql); // 判断数据是否读到尾. while (reader.Read()) { //控制台输入 //string temp = String.Format("{0},{1},{2},{3},{4}", reader[0], reader[1], reader[2], reader[3], reader[4]); string temp = String.Format("{0},{1},{2},{3}", reader[0], reader[1], reader[2], reader[3]); //retStr += temp + "<>"; retStr += temp + "\n"; } System.Diagnostics.Debug.WriteLine("student\n" + retStr); Console.WriteLine(retStr); // 一定要关闭 reader 对象. reader.Close(); } }
6.运行结果
右键“项目名称”=>“生成网站”,启动调试,查看即时窗口输出。
运行结果如下显示时asp.net连接使用uxdb成功,显示student表的数据与uxdb数据库中查看结果一致。


7.使用分析说明
创建uxdb端的student表。
create table student(
sno int primary key not null,
sname varchar(20),
sage int,
ssex varchar(6)
);
begin;
insert into student values(1001,'张三',15,'女');
insert into student values(1002,'李四',16,'男');
insert into student values(1003,'王五',15,'男');
insert into student values(1004,'赵六',14,'女');
insert into student values(1005,'马七',16,'男');
commit;
UXDB myDb = new UXDB("IP", "port", "db", "user","key"),uxdb-server所在机器IP为192.168.1.82,端口port为52025,所连接db为test,用户user为uxdb,密码为123456。