我是C#的新手,我正在尝试将我的应用程序连接到数据库,所以我尝试了这个:
public ActionResult ConnexionBD(){
SqlConnection cnx;
cnx = new SqlConnection("Data Source=C:\\Users\\Antoine\\Documents\\Visual Studio 2012\\Projects\\Application\\Application\\App_Data\\Database1.sdf;Initial Catalog=tstado;Integrated Security=True;Pooling=False");
cnx.Open();
SqlCommand cmd;
cmd = new SqlCommand();
cmd.CommandText="INSERT INTO Objet VALUES(1,'F',"+DateTime.Now+",'Moi')";
cmd.CommandType = CommandType.Text;
cmd.Connection = cnx;
cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM Objet";
cmd.CommandType = CommandType.Text;
cmd.Connection = cnx;
SqlDataReader r;
r = cmd.ExecuteReader();
String chaine="";
while (r.Read())
{
string nom = (string)r["Nom"];
string date = (string)r["Date"];
string user = (string)r["User"];
chaine+=nom+"\t"+date+"\t"+user+"\n";
}
cnx.Close();
return View(chaine);
}
第4行突破: cnx.Open(); 。 该错误表示由于网络原因,网络无法访问或无法访问。 (法语中的确切错误:“Uneerreurliéeauréseauouspécifiqueàl'instos'est produite lorsdel'établissementd'uneconnexionàSQLServer.Le serveur est introuvable ou n'pas pasaccessible.Vérifiezquele nom de l'instance est correct et que SQL Serverestconfigurépourautoriser les connexions distantes。“)
英文翻译;
发生与网络或特定于实例相关的错误 建立与SQL Server的连接。找不到服务器或 无法访问。验证实例名称是否正确 SQL Server配置为允许远程连接
我认为字符串连接可能有误,但我不确定。
如果有人可以帮助我..!
答案 0 :(得分:0)
在解决方案资源管理器中,您应该将Db文件的属性“复制到输出目录”标记为“始终复制”(或“如果更新”,具体取决于您的需要),以便将其复制到调试器可以访问的BIN文件夹中。在您的连接字符串中,您只需要简单地放入Database1.sdf
答案 1 :(得分:0)
由于您使用的是本地数据库(.sdf),因此您需要引用System.Data.SqlServerCe(在Add Reference> Extensions中找到)并相应地更改您的代码(见下文)。
public ActionResult ConnexionBD()
{
SqlCeConnection cnx = new SqlCeConnection(@"Data Source=C:\Users\Antoine\Documents\Visual Studio 2012\Projects\Application\Application\App_Data\Database1.sdf");
cnx.Open();
SqlCeCommand cmd = new SqlCeCommand
{
CommandText = "INSERT INTO Objet VALUES(1,'F'," + DateTime.Now + ",'Moi'",
CommandType = CommandType.Text,
Connection = cnx
};
cmd = new SqlCeCommand {CommandText = "SELECT * FROM Objet", CommandType = CommandType.Text, Connection = cnx};
SqlCeDataReader r = cmd.ExecuteReader();
String chaine = "";
while (r.Read())
{
string nom = (string)r["Nom"];
string date = (string)r["Date"];
string user = (string)r["User"];
chaine += nom + "\t" + date + "\t" + user + "\n";
}
cnx.Close();
return View(chaine);
}