试图学习与SQL Server CE一起使用它

时间:2014-03-07 23:09:39

标签: asp.net sql sql-server-ce

我能够添加sqlDataSource并使其在设计视图中工作,但我想在代码中执行此操作,但这是我无法使其工作的地方。

我的电脑上安装了Visual Studio 2012和SQL Server Compact Edition 4.0。我认为我的连接字符串中有一个错误,但这只是我的看法,它看起来像这样:

"Data Source=\"C:\\Users\\MyUser\\Documents\\Visual Studio 2012\\Databases\\Database.sdf\";Password=MyPassword;Persist Security Info=True"

但老实说,即使我得到了正确的连接字符串,我也不知道在那之后会去哪里,所以如果你有任何提示甚至是很好的教程,那将会有所帮助。 如果问题不是我的ConnectionString,那么它必须在其他地方,或者我只是做得不对,所以这是我的其余代码:

sqlDataSourceDB.SelectCommand = "SELECT * FROM quote";
DataView dv = (DataView)sqlDataSourceDB.Select(DataSourceSelectArguments.Empty);
String resultat = (String)dv.Table.Rows[0][0];

最后两行来自msdn mini演练

Uneerreurliéeauréseauouspécifiqueàl'instances'est produite lorsdel'établissementd'uneconnexionàSQLServer。 Le serveur est introuvable ou n'est pas access。 Vérifiezquele nom de l'instance est correct et que SQL Serverestconfigurépourautoriser les connexions distantes。 (提供者:SQL网络接口,错误:26 - Erreur lors de la localization du serveur / de l'instancespécifiés) 错误看起来像是(它是从法语翻译):

An error liked to the network or the instance happened when establishing a connection to     SQL Server. 
The server is not found or cannot be accessed. 
Check that the instance name is correct and that the SQL Server is correctly configured to allow distant connection. 
(provider: SQL Network Interfaces, error 26 - Error when locating the server/instance)

已解决:好吧,我意识到在设计视图中,当我添加SqlDataSource时,它正在工作但不是在我编码时所以我检查了整行并且看到了我自己的愚蠢;我不得不指定ProviderName -.-之后所有工作。这里的故事课,总是超过一切而不是制作愚蠢的帖子。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您将连接字符串添加到配置文件中,该文件包含在visual studio中的每个新项目中,如下所示:

<connectionStrings>
    <add name="main" connectionString="Data Source=\"C:\\Users\\MyUser\\Documents\\Visual Studio 2012\\Databases\\Database.sdf\";Password=MyPassword;Persist Security Info=True" />
 </connectionStrings>

下面的教程使用了稍微不同的内容,因此您可以根据自己的环境实施。

你的代码隐藏文件:(你需要导入SqlServerCe命名空间)

string sql = "select * from blah";
SqlCeCommand cmd = new SqlCeCommand(sql, ConfigurationManager.ConnectionStrings["main"].ConnectionString);
SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

foreach(DataRow r in dt.Rows)
{
    Console.WriteLine(r["something"].ToString());
}

dotnetperls上的Sql Compact Edition完整教程:http://www.dotnetperls.com/sqlce。本教程使用阅读器将数据打印到控制台,但您可以像上面一样轻松地填充DataTable。