查询数据,调试的时候把strSql复制到PL/sql里面可以查询到数据,但是查询运行一直显示无数据,遍历数据的时候直接跳出。不知道什么原因
OracleConnection conn = new OracleConnection("DATA SOURCE=192.168.1.213/gridmark;Persist Security Info=True;USER ID=WGYX;PassWord=wgyx");
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
String strSql = "select tell,name from user_base where name='" + username + "'";
cmd.CommandText = strSql;
cmd.CommandType = CommandType.Text;
DataSet ds = new DataSet();
try
{
conn.Open();
OracleDataAdapter ad = new OracleDataAdapter();
ad.SelectCommand = cmd;
ad.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
Longitudes[count] = System.Double.Parse(dr["lontitude"].ToString());
longitude += Longitudes[count] + "|";//将读取的经纬度存储为字符串形式
Latitudes[count] = System.Double.Parse(dr["latitude"].ToString());
latitude += Latitudes[count] + "|";//将读取经纬度存储为字符串形式
count = count + 1;
}
}
------最佳解决方案--------------------------------------------------------
你把跟踪出来的 sql拿到plsql中去执行看看,不要直接把代码里的复制过去,怀疑
String strSql = "select tell,name from user_base where name='" + username + "'";
这个有问题
------其他解决方案--------------------------------------------------------
如果SQL语句在数据库执行能查出数据,那么肯定就还是你本地编写的ADO.NET的访问有问题!
------其他解决方案--------------------------------------------------------
我就是跟踪后复制过去的,查询出来有数据。
------其他解决方案--------------------------------------------------------
已经解决
在 web.config 的连接字串上,加入 Unicode=true
<add key="cn" value="Password=webuser;User ID=webuser;Data Source=DBName;Persist Security Info=false;Unicode=true"/>
------其他解决方案--------------------------------------------------------
把断点加密点,进行调试,另外把语句,复制到数据库去查询一下