• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

c#的winform通过webserver访问win2000server服务的sql2000数据库出现很奇怪的问题

kzlyan 2012-08-31 11:54:41
问题:
当版本验证查询TRVersion 表时,给出的查询结果datatable却是其他表的内容,
如果版本验证通过,下一次查询给出的结果却是第一次查询的datatable结果,单步调试无法跟踪到服务器的webserver中,实在是头疼呀,诚恳的请求各路大侠帮忙,感激不尽,
(单机调试无问题,就是连接上服务器才出现此问题)部分代码如下:
验证版本:
{
。。。
string sqlstr = "select top 1 Version from TRVersion order by Version desc";
dtb = Upublic.GetData(sqlstr);
。。。
}

public static DataTable GetData(string Sql)
{
DataTable dt = new DataTable();
string Exceptionstr = "";
DataSet ds = dblib.GetData(Sql, out Exceptionstr);
if (ds != null)
{
return ds.Tables[0];
}
MessageBox.Show(Exceptionstr);
return null;
}

放置在服务器的 DBLib.asmx的部分代码
private static SqlConnection SqlCon { get; set; }
private static string _SqlConStr;

private static string SqlConStr
{
get
{
if (string.IsNullOrEmpty(_SqlConStr) )
_SqlConStr= ConfigurationManager.AppSettings["ConnectionString"];

return _SqlConStr;
}
}

private bool GetCon()
{
//if (SqlCon != null)
// return true;
try
{
if (SqlCon == null)
{
SqlCon = new SqlConnection(SqlConStr);
SqlCon.Open();
return true;
}
else if (SqlCon.State == ConnectionState.Closed)
{
SqlCon.Open();
return true;
}
return true;
}
catch (Exception ex)
{
SqlCon = null;
throw ex;
}
}
[WebMethod]
public DataSet GetData(string Sql, out string ExceptionStr)
{
try
{
ExceptionStr = null;
if (!GetCon())
return null;
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.Tables.Add(dt);
try
{
SqlCommand Command = new SqlCommand(Sql, SqlCon);
SqlDataAdapter adapter = new SqlDataAdapter(Command);
adapter.Fill(dt);
//SqlCon.Close();
return ds;
}
catch (Exception ex)
{
ExceptionStr = ex.Message;
return null;
}
}
finally
{
SqlCon.Close();
}
}
服务器winserver2000,数据库SQLserver2000,我在服务器的Internet的信息服务的虚拟站点里面建立了一个虚拟目录存放我的webserver文件,不知道是配置问题还是c#查询问题,实在是没有办法了,希望高手们指点,感觉呀
...全文
13 点赞 收藏 回复
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2012-08-31 11:54
社区公告

让您成为最强悍的C#开发者