稍熟悉了MonoDevelop和Postgresql后,开始使用Linux系统安装使用Mono。
我在VM虚拟机下安装了Ubuntu12.04版,Ubuntu现在做的,启动越来越慢,唉。。
安装完成后,根据http://www.cnblogs.com/qqloving/archive/2011/10/29/2228934.html安装完成了Mono和MonoDevelop;
然后根据同样的方法,安装完成了Postgresql9.1版和pgAdmin III,pgAdmin III安装完成后,根据
http://blog.csdn.net/xiaoniaozhubo/article/details/7520044设置完成了数据库,至此开发环境和数据库全都安装完毕,下面可以测试
一下。
1. 先建立数据库
Postgresql之前我并没有使用过,刚打开pgAdmin竟然有一种无从下手的感觉。。
Postgresql初始会有一个postgres的库,我们不动它,新建了一个数据库Test,完成后在Schemas节下有一个public节(对于我来说
Postgresql对权限及安全的控制达到了近乎‘恶心’的程度,它可以对每一个字段,每个人能有什么操作权限都能定义),你可以再添加新的节,
就好象同一个数据库中又有多个库一样!当然我们现在只是测试,Postgresql的深入理解留待之后慢慢学。
在public节下新建表users,字段username(varchar(20)),age(int),据说表名和字段名最好小写,具体什么原因,以后再说。
表建好后,添加两条记录,右击users表节,选择Scripts->INSERT Script,进入脚本编写界面
运行,记录写入了数据库中。
因为刚使用pgAdmin III,对里面的功能不是很了解,找了半天没有找到能够像MSsql那样能图形化的插入的功能,大家如果知道,希望能告诉我,谢谢。
2. 数据库弄好后,就可以启动MonoDevelop,建立一个Console程序,步骤和Windows下一模一样。
工程建立好后,添加一个新类ConnTosql,因为是数据库操作,所以我们要先添加相应的引用,编辑References,添加Npgsql和System.Data引用。
代码如下:
using System; using Npgsql; using System.Data; namespace Hello_Mono { public class ConnTosql { string connectStr; NpgsqlConnection npgConn; NpgsqlCommand npgComm; NpgsqlDataAdapter npgDA; public ConnTosql () { connectStr = "uid=xxx; pwd=xxx; host=localhost; database=Test"; npgConn = new NpgsqlConnection(connectStr); } public string[] GetUsers() { npgConn.Open(); string sqlStr = "select * from users"; npgComm = new NpgsqlCommand(sqlStr,npgConn); npgDA = new NpgsqlDataAdapter(); npgDA.SelectCommand = npgComm; DataTable dt = new DataTable(); int rowCount = npgDA.Fill(dt); if (rowCount == 0) return null; string[] res = new string[dt.Rows.Count]; string str; for (int i = 0; i < dt.Rows.Count; i++) { str = ""; for (int j = 0; j < dt.Columns.Count - 1; j++) { str += dt.Rows[i][j].ToString() + ","; } str += dt.Rows[i][dt.Columns.Count - 1].ToString() + ";"; res[i] = str; } return res; } } }
然后,MainClass编辑如下:
using System; namespace Hello_Mono { class MainClass { public static void Main (string[] args) { TestConnTosql(); Console.ReadKey(); } private static void TestConnTosql() { ConnTosql conn = new ConnTosql(); string[] users = conn.GetUsers(); if (users == null) return; int len = users.Length; for (int i = 0; i < len; i++) { Console.WriteLine(users[i]); } } } }
F5运行结果如下:
至此,本次安装测试完成 原文链接:https://www.f2er.com/postgresql/196446.html