道场日期和 MYSQL
Dojo Dates and MYSQL
我正在使用 Dojo 1.8、MySQL 和 IBM Worklight 框架 6.0 创建移动应用程序。我需要处理日期 (dojo/DateTextBox),以便将它们插入数据库并从数据库中检索以填充日期文本框。
我能举个例子来说明如何实现吗?
这与 Dojo 本身无关。只要您正确使用 Worklight API,Worklight 不关心您为应用程序 UI 使用哪个框架。意思是,只要您将要插入的值传递给适配器调用即可。
请在此处查看我的回答以获得端到端示例:
在下面的示例中,我直接使用 jQuery 传递值:$('#value1').val()
,但也可以通过其他方式完成。
HTML:
<h1>Test Insert Into Database</h1>
<input type="text" id="value1" placeholder="value1"/><br/>
<input type="text" id="value2" placeholder="value2"/><br/>
<input type="button" value="Insert values to database" onclick="insertValuesToDB();"/>
main.js:
function insertValuesToDB() {
var invocationData = {
adapter: 'insertValuesAdapter',
procedure: 'insertValuesProcedure',
parameters: [$('#value1').val(), $('#value2').val()]
};
WL.Client.invokeProcedure(invocationData, {onSuccess: insertSuccess, onFailure: insertFailure});
}
function insertSuccess() {
alert("success");
}
function insertFailure() {
alert("failure");
}
适配器XML:
...
...
<connectivity>
<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
<dataSourceDefinition>
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://localhost:3306/worklight_training</url>
<user>Worklight</user>
<password>Worklight</password>
</dataSourceDefinition>
</connectionPolicy>
<loadConstraints maxConcurrentConnectionsPerNode="5" />
</connectivity>
<procedure name="insertValuesProcedure"/>
...
...
适配器实现:
var insertValuesProcedureStatement = WL.Server.createSQLStatement("INSERT INTO users(userId, firstName, lastName, password) VALUES (?,?, 'someLastName', 'somePassword')");
function insertValuesProcedure(value1,value2) {
return WL.Server.invokeSQLStatement({
preparedStatement : insertValuesProcedureStatement,
parameters : [value1,value2]
});
}
这是将 java 脚本日期转换为 MYSQL 日期所需要的
Convert JS date time to MySQL datetime
我正在使用 Dojo 1.8、MySQL 和 IBM Worklight 框架 6.0 创建移动应用程序。我需要处理日期 (dojo/DateTextBox),以便将它们插入数据库并从数据库中检索以填充日期文本框。
我能举个例子来说明如何实现吗?
这与 Dojo 本身无关。只要您正确使用 Worklight API,Worklight 不关心您为应用程序 UI 使用哪个框架。意思是,只要您将要插入的值传递给适配器调用即可。
请在此处查看我的回答以获得端到端示例:
在下面的示例中,我直接使用 jQuery 传递值:$('#value1').val()
,但也可以通过其他方式完成。
HTML:
<h1>Test Insert Into Database</h1>
<input type="text" id="value1" placeholder="value1"/><br/>
<input type="text" id="value2" placeholder="value2"/><br/>
<input type="button" value="Insert values to database" onclick="insertValuesToDB();"/>
main.js:
function insertValuesToDB() {
var invocationData = {
adapter: 'insertValuesAdapter',
procedure: 'insertValuesProcedure',
parameters: [$('#value1').val(), $('#value2').val()]
};
WL.Client.invokeProcedure(invocationData, {onSuccess: insertSuccess, onFailure: insertFailure});
}
function insertSuccess() {
alert("success");
}
function insertFailure() {
alert("failure");
}
适配器XML:
...
...
<connectivity>
<connectionPolicy xsi:type="sql:SQLConnectionPolicy">
<dataSourceDefinition>
<driverClass>com.mysql.jdbc.Driver</driverClass>
<url>jdbc:mysql://localhost:3306/worklight_training</url>
<user>Worklight</user>
<password>Worklight</password>
</dataSourceDefinition>
</connectionPolicy>
<loadConstraints maxConcurrentConnectionsPerNode="5" />
</connectivity>
<procedure name="insertValuesProcedure"/>
...
...
适配器实现:
var insertValuesProcedureStatement = WL.Server.createSQLStatement("INSERT INTO users(userId, firstName, lastName, password) VALUES (?,?, 'someLastName', 'somePassword')");
function insertValuesProcedure(value1,value2) {
return WL.Server.invokeSQLStatement({
preparedStatement : insertValuesProcedureStatement,
parameters : [value1,value2]
});
}
这是将 java 脚本日期转换为 MYSQL 日期所需要的
Convert JS date time to MySQL datetime