繁体   English   中英

将字符串0'-1“写入sqlite android数据库

[英]write string 0'-1" into sqlite android database

我似乎无法正确地做到这一点,所以我问我在代码中忽略了什么。 这是我在代码中得到的:

newLeaseData = "INSERT INTO " + enterLogLN + " (Date, "
            + "StockTank1Ft, StockTank1Inch, StockTank2Ft, StockTank2Inch, "
            + "StockTank3Ft, StockTank3Inch, StockTank4Ft, StockTank4Inch, "
            + "Change1, Change2, Change3, Change4) VALUES " 
            + "(" + today + ", '" + valueT1Ft + "', '" + valueT1Inch + "', '" + valueT2Ft 
            + "', '" + valueT2Inch + "', '" + valueT3Ft + "', '" + valueT3Inch 
            + "', '" + valueT4Ft + "', '" + valueT4Inch + "', " + difTotalT1 
            + ", " + difTotalT2 + ", " + difTotalT3 + ", " + difTotalT4 + ")";

一切正常,直到我找到字符串:difTotalT1,difTotalT2,difTotalT3和difTotalT4。 每个字符串设置为:0'-1“,0'-2”,0'-3“或0'-4”,当我尝试执行命令时:

myDataBase.execSQL(EnterLogDataOilActivity.newLeaseData);

我的应用因以下logcat错误而崩溃:

06-05 04:36:23.824:E / AndroidRuntime(1127):android.database.sqlite.SQLiteException:在“'-1”,0'“附近:语法错误:关于(日期,StockTank1Ft,StockTank1Inch,StockTank2Ft, StockTank2Inch,StockTank3Ft,StockTank3Inch,StockTank4Ft,StockTank4Inch,Change1,Change2,Change3,Change4)值('05_05_12','0','1','0','2','0','3','0 ','4',0'-1“,0'-2”,0'-3“,0'-4”)

感谢您的帮助,我知道这一定很简单。 我也尝试过用单引号将每个difTotalT1字符串括起来,但这也不起作用(即difTotalT1 =“'” + difTotalT1 +“'”;)

这是我用来在sqlite中创建表的字符串:

newLeaseTable = "create table '" + leaseName + "' (_id integer primary key autoincrement,"
            + " Date TEXT, StockTank1Ft NUMERIC, StockTank1Inch NUMERIC,"
            + " StockTank2Ft NUMERIC, StockTank2Inch NUMERIC, StockTank3Ft NUMERIC,"
            + " StockTank3Inch NUMERIC, StockTank4Ft NUMERIC, StockTank4Inch NUMERIC,"
            + " Change1 TEXT, Change2 TEXT, Change3 TEXT, Change4 TEXT, User TEXT);";

尝试按照以下方式,

String singleQuote = "'";
char doubleQuote = '"';

现在,将变量与上述变量连接起来,如下所示

String Change3 = "0" + singleQuote + "-3" + doubleQuote;  // result = 0'-3" in variable

您必须使用反斜杠转义报价,即

difTotal = "0\\\'-1\\\"";

当您将其插入MySQL时,这将导致difTotal为“ 0 \\'-1 \\”“。

我无法使它工作,所以我将var从字符串更改为int,然后进行设置,以使其显示方式有所不同。 谢谢你的帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM