最近在开发过程中,需要读取PostGreSql数据库中的信息,一直都是对sql server数据库进行操作,第一次接触PostGreSql数据库,现在我把如果操作此数据库的方法总结一下:
1. 连接到PostGreSql数据库的客户端 pgAdmin
pgAdmin 是可以连接到PostGreSql数据库的一个客户端,安装好客户端后,输入IP 、 Port、 User Id、Password、DataBase后就可以连接到数据库了,然后就可以进行一些数据库操作;
如下图,是pgAdmin的界面:
单击1,出现连接数据库的界面,如下图:
输入好信息后,单击OK,即连接到数据库,下面我们对数据库进行一下查询操作:
单击2处按钮,在弹出窗口中输入sql语句,执行即可看到结果,如下图:
大家可以看到,PostGreSql的语句和Sql语句还是有一定区别的,用Sql语句查询该信息为“SELECT TOP 1* FROM LOG”这里不再介绍
2.在.net项目中查询PostGreSql数据
1.在.net项目中需要引用两个dll,分别是Npgsql.dll和 Mono.Security.dll
2.下面是代码:
public static class SqlHelper { /// <summary> /// 数据库连接字符串 /// </summary> private static readonly string StrConnection = ConfigurationSettings.AppSettings["Conn"].ToString();
/// <summary> /// 执行SQL返回Table /// </summary> /// <param name="StrText"></param> /// <param name="StrConnection"></param> /// <returns>返回Table</returns> public static DataTable GetPostgreTable(string StrText) { using (NpgsqlConnection conn = new NpgsqlConnection(StrConnection)) { conn.Open(); NpgsqlCommand cmd = new NpgsqlCommand(StrText,conn); NpgsqlDataAdapter NpgDa = new NpgsqlDataAdapter(cmd); DataTable dt = new DataTable(); NpgDa.Fill(dt); return dt; } }
/// <summary> /// 执行SQL返回字符串 /// </summary> /// <param name="strText"></param> /// <param name="StrConnection"></param> /// <returns>返回字符串</returns> public static string GetpostgreExecuteScalar(string strText,string StrConnection) { using (NpgsqlConnection conn = new NpgsqlConnection(StrConnection)) { conn.Open(); NpgsqlCommand cmd = new NpgsqlCommand(strText,conn); string PostgreScalar = cmd.ExecuteScalar().ToString(); if (PostgreScalar != null || !string.IsNullOrEmpty(PostgreScalar)) return PostgreScalar; else return null; } }
/// <summary> /// 执行SQL返回执行是否成功 /// </summary> /// <param name="StrText"></param> /// <param name="StrConnection"></param> /// <returns>返回执行是否成功</returns> public static bool PostgreExecuQuery(string StrText,string StrConnection) { using (NpgsqlConnection conn = new NpgsqlConnection(StrConnection)) { conn.Open(); NpgsqlCommand cmd = new NpgsqlCommand(StrText,conn); int n = cmd.ExecuteNonQuery(); conn.Close(); if (n > 0) return true; else return false; } } }
希望对大家能够有所帮助 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|