我与oracle数据库有这样的连接:
System.setProperty("webdriver.chrome.driver","C:\\Users\\XXXX\\Downloads\\chromedriver_win32\\chromedriver.exe");
System.out.println(System.getProperty("webdriver.chrome.driver"));
WebDriver driver = new ChromeDriver();
driver.get("https://www.gmail.com");
问题是第二个参数像我想要的那样传递,这意味着
supplier_id = 1
但我的第一个参数有问题。每次只传递字符串,所以我的查询看起来像
选择" supplier_id",supplier_name FROM供应商WHERE supplier_id = ?
而不是
选择supplier_id,supplier_name FROM供应商WHERE supplier_id = ?
因此,我不能从表格中获取相应于supplier_id的值,而是字符串" supplier_id"。 我究竟做错了什么?我应该更改什么来获取值不是字符串?
答案 0 :(得分:4)
无法以这种方式创建动态查询,您必须使用正常的字符串操作。参数只能用于值,如字符串,数字等,而不能用于名称。
在您的情况下,可以执行类似
的操作String sqlTemplate = "SELECT <id_column>,supplier_name FROM supplier WHERE supplier_id = ?";
String selectSQL = sqlTemplate.replace("<id_column>", "supplier_id");