2012-06-05 26 views
0

我似乎无法获得这项权利,所以我问什么我在我的代码,俯瞰这里就是我在我的代码已经有了:写串0'1" 到sqlite的机器人数据库

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:near“'-1”,0'“:语法错误:INSERT INTO about(Date,StockTank1Ft, StockTank1Inch,StockTank2Ft,StockTank2Inch,StockTank3Ft,StockTank3Inch,StockTank4Ft,StockTank4Inch,Change1,Change2,Change3,Change4)VALUES('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);"; 
+0

尝试转义单引号和双引号\'和\“ – Sana

+0

它仍然给我相同的logcat错误 – deerkiller11

+0

您可以编辑您的问题并粘贴表'enterLogLN'的结构 – Sana

回答

0

我无法让它工作,所以我将var从一个字符串更改为一个int,然后进行设置,以便以不同方式显示它。感谢您的帮助

0
以下方式

尝试,

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

现在上述变量串连你的变量如下

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

如果你读了我的OP的最后一行它说,我试过 – deerkiller11

+0

okey,会回来w ith更新的答案,与另一个选项:) – Lucifer

+0

感谢您的帮助 – deerkiller11

0

你必须转义反斜线引号,即

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

这将导致difTotal是“0 \“ - 1 \‘’当您使用它插入到MySQL。

+0

试过这个和得到相同的logcat错误 – deerkiller11