任何解決以下問題的建議將不勝感激。我正在嘗試使用 java 運行 sql 語句,其中我一直有動態文件名例如這次我的完整文件名是"WTX-5010_HP_KYCMS18837P51144.txt"這是我的 sql 語句:`SELECT processid, * FROM [Config].[AD].[FILELOG] where filename='WTX-5010_HP_KYCMS18837P51144.txt'以下是我的腳本: static String NewFileNmae = WTX-5010_HP_KYCMS18837P51144.txt; System.out.println("Full New File Name is " + NewFileNmae); try {String strpQuery2 = "SELECT processid, * FROM [Config].[AD].[FILELOG] where filename="; String connectionUrl = "jdbc:sqlserver://"+strpServer+":"+strpPort+";databaseName="+strpDatabase+";IntegratedSecurity=true"; // Declare the JDBC objects. Connection con = null; Statement stmt = null; ResultSet rs = null; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(connectionUrl); String SQLS = strpQuery2+NewFileNmae; System.out.println("SQLQuery is " + SQLS); stmt = con.createStatement(); rs = stmt.executeQuery(SQLS); while (rs.next()) { ProcessID = rs.getString(1); System.out.println("List value are " +ProcessID); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }在調試窗口中,我可以看到"SELECT processid, * FROM [Config].[AD].[FILELOG] where filename=WTX-5010_HP_KYCMS18837P51144.txt"上面腳本中打印的 sql 語句rs = stmt.executeQuery(SQLS);我將文件名添加為變量,當自動生成動態文件名時,它不會將引號''與文件名一起添加。我怎么能在這里提到 NewFileName 變量的單引號?- 字符串 SQLS = strpQuery2+NewFileNmae;
1 回答
波斯汪
TA貢獻1811條經驗 獲得超4個贊
一個字符串應該包含在引號之間 'WTX-5010_HP_KYCMS18837P51144.txt'(你錯過了)
SELECT processid, *
FROM [Config].[AD].[FILELOG]
where filename= 'WTX-5010_HP_KYCMS18837P51144.txt'
"SELECT processid, * FROM [Config].[AD].[FILELOG] where filename='" + ;
NewFileNmae +"';"
添加回答
舉報
0/150
提交
取消
