Mono学习2
稍熟悉了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运行结果如下: 至此,本次安装测试完成 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |