Tôi sẽ làm điều này:
string connStr = "Server=localhost;Port=5432;User Id=postgres;Password=enter;";
var m_conn = new NpgsqlConnection(connStr);
var m_createdb_cmd = new NpgsqlCommand(@"
CREATE DATABASE IF NOT EXISTS testDb
WITH OWNER = postgres
ENCODING = 'UTF8'
CONNECTION LIMIT = -1;
", m_conn);
m_conn.Open();
m_createdb_cmd.ExecuteNonQuery();
m_conn.Close();
connStr = "Server=localhost;Port=5432;User Id=postgres;Password=enter;Database=testDb";
m_conn = new NpgsqlConnection(connStr);
m_createtbl_cmd = new NpgsqlCommand(
"CREATE TABLE table1(ID CHAR(256) CONSTRAINT id PRIMARY KEY, Title CHAR)"
, m_conn);
m_conn.Open();
m_createtbl_cmd.ExecuteNonQuery();
m_conn.Close();
Việc sử dụng var
ở đây không được khuyến khích. Tôi đã sử dụng nó vì tôi không biết các kiểu trả về là gì nhưng bạn nên làm như vậy.
Lưu ý việc sử dụng một chuỗi thô (@
). Nó làm cho việc xây dựng chuỗi trở nên đơn giản.
Không sử dụng số nhận dạng được bao quanh bởi dấu ngoặc kép trong Postgresql trừ khi số nhận dạng đó là bất hợp pháp. Nó sẽ khiến cuộc sống của bạn khó khăn hơn nhiều.