我正在尝试GNOME JavsScript tutorial,似乎是not to work in its original version。
var gdaStrConn = Gda.Connection.open_from_string("SQLite", "DB_DIR=" + GLib.get_home_dir () + ";DB_NAME=gnome_demo", null, 0);
print('Connected');
gdaStrConn.execute_non_select_command (this.connection, 'create table demo (id integer, name varchar(100))');
函数
execute_non_select_command
的文档说:gint gda_connection_execute_non_select_command
(GdaConnection *cnc,
const gchar *sql,
GError **error);
This is a convenience function to execute a SQL command over the opened connection. For the returned value, see gda_connection_statement_execute_non_select()'s documentation.
cnc : an opened connection
sql : a query statement that must not begin with "SELECT"
error : a place to store errors, or NULL
Returns : the number of rows affected or -1, or -2
现在我得到以下错误:
(gjs:25295): Gjs-WARNING **: JS ERROR: Error: Expected type utf8 for Argument 'sql' but got type 'object'
为什么会出现该错误,导致
sql
参数是字符串:'create table demo (id integer, name varchar(100))'
?那个电话怎么了?
最佳答案
第3行省略了函数中的第一个参数,因此该行如下所示:
gdaStrConn.execute_non_select_command ('create table demo (id integer, name varchar(100))');
我不知道为什么会这样,只是自己学习gjs。
关于javascript - 参数'sql'的预期类型为utf8,但类型为'object',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30178222/