我了解AppMaker可以与PostgreSQL和MySQL一起使用,但是文档说您可以使用自己的数据源。这有点模棱两可,我想专门找出是否可以使用现有的SQL Server数据库。我已经与Google的支持团队进行了交谈,但他们无法回答,并指示我在此处提出问题。在此先感谢:-)
答案 0 :(得分:1)
是的,但快速的答案是Cloud SQL更容易且效果更好。
长答案:
App Maker确实使用REST和JDBC支持SQL,但是比使用他们自己的CloudSQL模型要困难得多。我上次使用它时的一些JDBC代码:
function get_data() {
var queryStr = 'SELECT * FROM users'; //SQL query
var calcRecords = []; //empty array to put records into
var connection = Jdbc.getConnection(dbUrl, user, userPwd); //connect to database
var statement = connection.prepareStatement(queryStr); //prepared statement
var results = statement.executeQuery(); //execute prepared query
try {
while (results.next()) {
var calcRecord = app.models.test.newRecord();
calcRecord.id = results.getInt(1); //data source test row id
calcRecord.user = results.getString(2); //data source test row user
calcRecord.passwd = results.getString(3); //data source test row passwd
calcRecords.push(calcRecord); //append to 2D array
}
results.close(); //close the results
statement.close(); //close the connection
} catch (err) {
console.error('SQL query failed: ' + err);
}
return calcRecords;
}
等效的Google Cloud SQL:
function get_users(){
var ds=app.datasource.Users.Items;
var data = [];
for(var i = 0; i < Items.length; i++){
tmp = [];
tmp.push(Items[i].id); //the id
tmp.push(Items[i].user); //the username
tmp.push(Items[i].password); //the password
data.push(tmp); //push to create 2D array
}
return data;
}
执行查询要困难一些,并且需要服务器代码(因此需要异步回调),但是填充诸如下拉列表和实现表之类的小部件要容易得多,通常只需单击几下即可,而不是很多代码。