C#mdf本地数据库

C#mdf本地数据库,c#,sql-server,database,C#,Sql Server,Database,我在谷歌上搜索了半天如何设置数据库的路径,这样如果我把它放在另一台计算机上,它就可以工作了。我会继续在谷歌上搜索,但我真的需要答案真的很快。。。再过几个小时我就得用它参加比赛了 string path = Path.Combine(Application.StartupPath, "Database1.mdf"); SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" +

我在谷歌上搜索了半天如何设置数据库的路径,这样如果我把它放在另一台计算机上,它就可以工作了。我会继续在谷歌上搜索,但我真的需要答案真的很快。。。再过几个小时我就得用它参加比赛了

string path = Path.Combine(Application.StartupPath, "Database1.mdf");

SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + path + ";");
conn.Open();

SqlCommand command = new SqlCommand("SELECT NAME FROM DATA", conn);

SqlDataReader reader = command.ExecuteReader();

while(reader.Read())
{
    string text = reader.GetString(0);
    MessageBox.Show(text);
}

SqlCommand c = new SqlCommand("INSERT INTO DATA (id, name) VALUES(i, v)", conn);
c.Parameters.AddWithValue("@i", 1);
c.Parameters.AddWithValue("@v", "Jack");

c.ExecuteNonQuery();

conn.Dispose();
此代码用于选择,但不用于插入。然后我将路径硬编码为:

 String s = @"C:\Users\Radu\Documents\Visual Studio 2013\Projects\WindowsFormsApplication7\WindowsFormsApplication7\Database1.mdf";
这两种方法都适用,所以SQL语句不是错的


所以我的问题是:我应该将什么路径放入我的
SqlConnection
对象中,这样当他们在我的竞争对手上获得我的源代码并在另一台pc上测试它时,它就会工作。

LocalDB专门用于开发。你不能在生产中使用它。在你的情况下,“生产”意味着竞争。除非竞赛组织者指定他们支持SQL Server实例供您连接,并给出连接参数(即不太可能),否则您不应在项目中使用SQL Server。

您可以将MDF文件放在计算机有权访问的任何文件共享上。只需将path变量更改为指向正确的文件共享


请参见此处的问题答案

目标PC必须具有您正在运行的SQL server版本,并将其用作连接字符串。您确定目标PC正在运行LocalDB吗?