一言不合就上代码
2.链接postgresql数据库,读取数据库中表
NpgsqlConnection conn; private void btn_connPostGIS_Click(object sender, EventArgs e) { string ip = tbx_ip.Text.Trim(); string port = tbx_port.Text.Trim(); string userName = tbx_user.Text.Trim(); string pass = tbx_password.Text.Trim(); string dbName = tbx_db.Text.Trim(); if (ip == "" || port == "" || userName == "" || pass == "" || dbName == "") { MessageBox.Show("数据库连接信息不完整,请检查重新输入。"); return; } //获取用户自定义的表 string selectAllTabelStr = "SELECT tablename From pg_tables WHERE schemaname='public';"; string connStr = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};",ip,port,userName,pass,dbName); conn = new NpgsqlConnection(connStr); conn.Open(); NpgsqlDataAdapter pAdapter = new NpgsqlDataAdapter(selectAllTabelStr, conn); DataSet ds = new DataSet(); pAdapter.Fill(ds); DataTable tableNames = ds.Tables[0]; List<string> nameList = new List<string>(); foreach (DataRow dr in tableNames.Rows) { nameList.Add(dr[0].ToString()); } cbx_tableName.DataSource = nameList; } private void btn_OK_Click(object sender, EventArgs e) { if (conn == null) return; string tblName = cbx_tableName.Text; if (tblName == "") { MessageBox.Show("请选择用于建模的数据表."); return; } string selectDataStr = "SELECT * FROM " + tblName + ";"; NpgsqlDataAdapter pAdapter = new NpgsqlDataAdapter(selectDataStr, conn); DataSet ds = new DataSet(); pAdapter.Fill(ds); mTable = ds.Tables[0]; conn.Close(); this.DialogResult = DialogResult.OK; }