我寫了一個程序,它在mysql數據庫中搜索給定的印地文字,並檢索其存儲在數據庫中的英文對應名稱。當我直接給印地文字時,它工作正常在選擇的聲明,但我想給它使用一個變量,所以它可能是更一般的,但我沒有得到相同的結果..任何人都可以幫助我的解決方案它..在感冒從數據庫中檢索印地文字符
這是我寫的代碼
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import com.microsoft.sqlserver.jdbc.*;
import java.sql.*;
public class Example {
public static void main(String[] argv) {
try {
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e)
{
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return;
}
Connection connection = null;
SQLServerDataSource dataSource = new SQLServerDataSource();
dataSource.setServerName("COMP-PC");
dataSource.setPortNumber(1433);
dataSource.setDatabaseName("concept");
dataSource.setUser("root");
dataSource.setPassword("abc");
try
{
connection = dataSource.getConnection();
connection.setAutoCommit(false);
System.out.println("Connected to server !!!");
Statement select = connection.createStatement();
String var="N'हल्दी'";
ResultSet result = select.executeQuery
("SELECT Name, Id FROM MConcept where CName=N'हल्दी'");
**// When given like the above statement it works fine
("SELECT Name, Id FROM MConcept where CName='"+var+" ' ");
**//This does not give result
System.out.println("Got results:");
while(result.next()) { // process results one row at a time
String Name = result.getString(1);
int ID = result.getInt(2);
System.out.println("name = " + Name);
System.out.println("id = " + ID);
}
select.close();
connection.close();
}
catch (SQLException e)
{
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null)
{
System.out.println("Successfully connected!");
}
else
{
System.out.println("Failed to make connection!");
}
}
}
我能當如N給存儲在數據庫中的印地文值「हल्दी」當我只給出單詞हल्दी它被存儲爲?????我的數據庫看起來像Turmericहल्दी1,其中Turmeric是英文名,हल्दी在印地文,1它的編號.. – user1448447
雅得到了你所有的結果是正確的在報價中有一個問題..謝謝你所有的朋友幫幫我 – user1448447