加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net 操作PostGreSql数据库

发布时间:2020-12-13 17:47:57 所属栏目:百科 来源:网络整理
导读:最近在开发过程中,需要读取PostGreSql数据库中的信息,一直都是对sql server数据库进行操作,第一次接触PostGreSql数据库,现在我把如果操作此数据库的方法总结一下: 1. 连接到PostGreSql数据库的客户端 pgAdmin pgAdmin 是可以连接到PostGreSql数据库的一

最近在开发过程中,需要读取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;
}
}
}

希望对大家能够有所帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读