我现在有一个窗体FORM2,我在这里面有4个文本框,分别是:1.服务器名称: 2.登录名称: 3.登录密码: 4.数据库名称:
在我的Form1窗体里有一段连接字符串是:
public static string sqlstr1 = "Data Source="+Form2.ipstr+";Initial Catalog="+Form2.dbstr+";uid="+Form2 .sastr+";pwd="+Form2.pwdstr; 为什么我连接的是时候提醒我:“用户(null)登录失败。原因:未与信任的SQL SERVER连接相关联。” 我应该如何解决啊??
在我的Form1窗体里有一段连接字符串是:
public static string sqlstr1 = "Data Source="+Form2.ipstr+";Initial Catalog="+Form2.dbstr+";uid="+Form2 .sastr+";pwd="+Form2.pwdstr; 为什么我连接的是时候提醒我:“用户(null)登录失败。原因:未与信任的SQL SERVER连接相关联。” 我应该如何解决啊??
我也尝试过,总之用楼主的代码我是从没成功过的,问题多多,我也不知道为什么,我连都是用
server =? database = ? 才能连上的,
首先你使用static string明白你是什么意思,这个字串要留着用,是吧?楼主注意看一下,你的Form2是一个类,没有实例化,那么Form2.XXX存在吗?它当然会取出NULL值。错误提示没错,只是问题不在SQL信任连接上。在你的串就没有构建好。如果你使用的是NET 2.0那这个问题,你应该使用用户级User设置来保存该字串,不用什么static会比较好
如this.Properties.YourDBConnetionString=XXXX;
为什么要这么做?为什么不把连接字符串放到config文件中
如果是使用WINDOWS安全模式,则需要使用“Integrated Security=true”
另外,你的ipstr等是字符串变量呢还是TextBox控件,如果是控件,则要使用ipstr.text
string connstr = "Data Source=" + Form2.ipstr + ";Initial Catalog=" + Form2.dbstr + ";" + (Form2..IsWindows.Checked ? "Integrated Security=True" : ("User ID=" + Form2 .sastr + ";PassWord=" + Form2.pwdstr));
高手为您解疑
群号:11623794
如果ipstr是文本框的名称的话,应该使用ipstr.Text
应该是这个 我认为
你在Form1里能取到Form2里的值吗?
为什么要这么做?为什么不把连接字符串放到config文件中===========================================================================LZ 这么做的目的是要在客户端动态的输入连接所需的 server名,database名,用户名,密码.
因为每个机器会不一样,例如,如果出现象系统重装或IP改变的情况这样,程序连接的时候可以改变,以使的程序对用户来讲,更加友好。LZ是不是这意思???