2010-10-13 84 views
1

我正在使用Visual C#Express 2008,并通过转到Add-> New Data Source来创建数据库和数据集。我试图向它添加一条记录,但无法使用向导中提供的数据字符串进行连接。请帮忙。这是我的代码C#.NET连接字符串无法连接

System.Data.SqlClient.SqlConnection sqlConnection1 = 
new System.Data.SqlClient.SqlConnection("Data Source=|DataDirectory|\\myLife.sdf;Password=*******"); 

System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(); 
cmd.CommandType = System.Data.CommandType.Text; 
cmd.CommandText = "INSERT profiles (profile, file) VALUES ('here', 'here')"; 
cmd.Connection = sqlConnection1; 

sqlConnection1.Open(); 
cmd.ExecuteNonQuery(); 
sqlConnection1.Close(); 
+2

什么是错误?数据库文件是否存在?它在正确的位置吗?它是否可由适用的用户环境写入? – David 2010-10-13 18:51:58

+0

你得到什么错误? – CodingGorilla 2010-10-13 18:52:30

+0

与SQL Server建立连接时发生网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开连接到SQL Server) – 2010-10-13 18:59:50

回答

0

通常,您需要在同一个连接字符串中指定用户名和密码。我知道,你可以使用你的Windows凭据通过在连接字符串中使用integrated security=true连接,但我认为你的情况,你可能想使用Data Source=|DataDirectory|\\myLife.sdf;User id=Bob;Password=*******

+0

建立连接字符串的好网站是... http://connectionstrings.com/ – Patrick 2010-10-13 18:56:32

+0

我不确定SQL Server CE支持用户级登录安全性,但我相信,DB本身可以用密码保护。 – Steven 2010-10-13 19:02:52

1

由于您使用SQL精简版数据库文件(。自卫队)你应该使用Sql Ce连接而不是SqlConnection在这里解释other post