[英]Set SQL Server name in connection string not working
我有Formselectserver
,从组合框中获取SQL Server的名称。 我也有form2
在哪里是主要形式。
我将combobox.selectedvalue
发送到form2中的连接字符串,但这不起作用。
我希望用户在网络中选择一个SQL Server并连接到它。
Formselectserver objfrmserver = new Formselectserver();
private const string strconnection =
@"server='" + objfrmserver.cmbshowallsqlserver.SelectedValue +
"';database = anfd; Integrated Security = SSPI";
错误是:
非静态字段,方法或属性'exportdatafromholoo.Form1.objfrmserver'需要对象引用
有两件事是错误的:
const
。 objfrmserver
还是该类的成员吗? 您不能互相初始化同一类中的字段。 将初始化移到构造函数。 尝试这个:
public void MyMethod()
{
Formselectserver objfrmserver = new Formselectserver();
string strconnection = @"server='" + objfrmserver.cmbshowallsqlserver.SelectedValue + "';database = anfd; Integrated Security = SSPI";
}
const
是一个编译时常量,因此只能包含在编译时已知的内容-基本上是文字。
objfrmserver
是实例(按对象)字段,在运行时是对另一个对象的引用。 这是行不通的。 因此,基本上,您的strconnection
不能是const
。 我怀疑这是一个领域也没有太多目的。 但作为变量可能是有道理的,即
public void Connect() {
var strconnection = @"server='" + objfrmserver.cmbshowallsqlserver.SelectedValue + "';database = anfd; Integrated Security = SS=PI";
var conn = new SqlConnection(strconnection);
conn.Open();
// etc...
}
您可能还希望查看SqlConnectionStringBuilder
,以避免必须知道与服务器名称关联的转义规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.