如何使用 PostgreSQL 新包在 Flutter 中插入查询? postgres:^3.2.1 所有其他文档都已过时、已弃用且不再工作,有人可以帮忙解决这个问题吗? 如何向表中插入数据? 如何删除表中的数据? 如何更新数据到表中?
甚至 ChatGPT 也提供了不再有效的旧方法。
import 'package:postgres/postgres.dart';
Future<void> insertUser() async {
// Configure the database connection
final connection = PostgreSQLConnection(
'your_host', // e.g., 'localhost' or 'your_db_host'
5432, // Port number, usually 5432 for PostgreSQL
'your_database_name',
username: 'your_username',
password: 'your_password',
);
// Open the connection
await connection.open();
// Execute the insert statement
await connection.query(
'INSERT INTO users (user_name, user_id) VALUES (@userName, @userId)',
substitutionValues: {
'userName': 'ismail',
'userId': 1001,
},
);
// Close the connection
await connection.close();
}
void main() async {
await insertUser();
print("User inserted");
}
例如,这里的PosgresqlConnection、Connection.Query、SubtitutionValue等,都不再使用并已弃用,这是之前执行插入的示例代码。
import 'package:postgres/postgres.dart';
class Example {
late final Connection _conn;
static final Endpoint _endpoint = Endpoint(
host: 'your_host', // e.g., 'localhost' or 'your_db_host',
database: 'your_database_name',
username: 'your_username',
password: 'your_password',
);
static const ConnectionSettings _connectionSettings =
ConnectionSettings(sslMode: SslMode.disable);
Future<void> insertUser(String userName, int userId) async {
try {
_conn = await Connection.open(_endpoint, settings:
_connectionSettings);
await _conn.execute(
'INSERT INTO users (user_name, user_id) VALUES ($userName, $userId)');
} catch (e) {
print('Error: ${e.toString()}');
} finally {
_conn.close();
}
}
}
void main() async {
await Example().insertUser('ismail', 1001);
print("User inserted");
}
我认为这样的事情应该有效。 pub.dev 还有更多示例:https://pub.dev/packages/postgres/example