关于C#开发wince连接数据库的问题

Fantazindy_yang 2011-06-21 12:53:03
环境: VS2008
平台:wince5.0
数据库: sqlserver 2000

现在做了一个在PDA通过WIFI直连远程数据库的应用
通过VS2008已经部署到了PDA上,但是连接远程数据库的时候连接不上,
错误信息是 Exception ,如何调试都捕获不到相信的错误信息。
创建一个windows应用用相同代码连接数据库是OK的
PDA上连接代码如下:

string Connstr=
//"user id=sa;initial catalog=master;Server=192.168.1.105;Connect Timeout=30";
"Data Source=192.168.1.105" +
";User ID=yang.f" +
";password=123" +
";initial catalog=sop" ;

SqlConnection Conn = new SqlConnection(Connstr);

try
{
Conn.Open();
}

catch (Exception ex)
{
MessageBox.Show("无法连接到指定的PC数据库!" + ex.Message);
return;
}

请问问题出在哪里?本人刚接触C#
...全文
447 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyerwing 2011-06-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xuexiaodong2009 的回复:]
引用 1 楼 flyerwing 的回复:

用WCF试下.
好象WINMOBILE是不能直接连接这种数据库,但是可以连接SQLCE的.
WINCE好象也是一样的吧.
WINMOBILE是不能直接连接sql server 数据库
[/Quote]
还是上面的了.
学习中啊 2011-06-27
  • 打赏
  • 举报
回复

【注意】我的是WINFORM程序,程序运行目录下有时候需要拷贝一个dbnetlib.dll文件,在WINCE5.0下运行连接SQL SERVER2000 和SQL SERVER2005没问题,CF2.0,连接SQL SERVER2008那个不好用啊。
private void doLink(String type)
{
SqlConnection conn = null;
try
{

this.label1.Text = "";
this.label2.Text = "";
//建立连接
String dblinkCon = "";
String sql = "";
//2000
if (type == "2000")
{
dblinkCon = "Server=192.168.30.57;DataBase=aaaaa;User ID=sa;Password=sa;";
sql = "select login_name as name from T_USER where login_id = 'admin'";
}
//2005
else if (type == "2005")
{
dblinkCon = "Server=192.168.30.56;DataBase=aaaaa;User ID=sa;Password=sa123SA;";
sql = "select login_name as name from user where login_id = 'admin'";
}
//2008
else if (type == "2008")
{
dblinkCon = "Server=192.168.16.13;DataBase=aaaa;User ID=sa;Password=aaaaa;";


sql = "select yh_nm as name from mst_yh where yh_id = 'admin'";
}

this.label1.Text = dblinkCon;
this.label2.Text = sql;

String name = "";


conn = new SqlConnection(dblinkCon);
conn.Close();
conn.Open();

SqlCommand cmd = new SqlCommand();
cmd.CommandText = sql;
cmd.Connection = conn;
//执行登陆SQL
SqlDataReader reader = cmd.ExecuteReader();

if (reader.Read())
{
//取得登陆用户名字
name = (String)reader["name"];
MessageBox.Show("连接成功!取得数据[" + name + "]!");
}
else {
MessageBox.Show("连接成功!未读取数据!");
}
reader.Close();
conn.Close();



}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
conn.Close();
}
flyerwing 2011-06-21
  • 打赏
  • 举报
回复
用WCF试下.
好象WINMOBILE是不能直接连接这种数据库,但是可以连接SQLCE的.
WINCE好象也是一样的吧.
xuexiaodong2009 2011-06-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 flyerwing 的回复:]

用WCF试下.
好象WINMOBILE是不能直接连接这种数据库,但是可以连接SQLCE的.
WINCE好象也是一样的吧.
[/Quote]WINMOBILE是不能直接连接sql server 数据库
meic1985 2011-06-21
  • 打赏
  • 举报
回复
没试过 帮顶

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧