1

我是 C# 新手,我正在按照教程学习它。

Database1.sdf通过在我的项目中单击“添加新项目”,我创建了一个包含一个表和几列的 SQL Server 数据库 ( )。

    SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=??????;Integrated Security=True;Connect Timeout=30;User Instance=True");
    DataTable dt = new DataTable();
    SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM Database1 WHERE Titel like " + int.Parse(textBox1.Text), conn);
    SDA.Fill(dt);
    dataGridView1.DataSource = dt;

如你所见“???” 部分是我卡住的地方。我尝试使用数据库的路径

C:\Users\1\Documents\Visual Studio 2010\Projects\Opdracht0\Opdracht0\Database1.sdf

但这行不通。当我运行它时,我得到:

输入字符串的格式不正确。

这条线是红色的:

SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM Database1 WHERE Titel like" + int.Parse(textBox1.Text), conn);

如您所见,这是一个简单的 SQL 语句,但即使这样也行不通。

任何提示表示赞赏!

4

3 回答 3

1

您的主要问题是您混合了两种不兼容的数据库类型:

  • 您的database1.sdf文件是 SQL Server Compact Edition数据库文件

  • 但是,您的SqlConnectionSqlCommand用于成熟的SQL Server (Express) 版本 - 并且这些版本与 SQL Server Compact兼容!

所以要么你需要

  • 继续使用您的 SQL Server Compact 数据库 ( database1.sdf) - 但在这种情况下,您需要使用SqlCeConnectionandSqlCeCommand和这些命令

或者然后:

  • 您切换到真正的 SQL Server(Express、Standard、Enterprise),在这种情况下,您可以使用SqlConnectionSqlCommand
于 2013-03-12T21:32:41.780 回答
0

这就是我将如何去做。我会去MSDNSqlConnection在搜索框中输入。在摸索了一下之后(因为他们已经对我最喜欢的连接字符串示例进行了深度处理),我会发现类似这样的内容,其中包含一些示例,例如:

Persist Security Info=False;Integrated Security=true;Initial Catalog=Northwind;server=(local)

Data Source=MSSQL1;Initial Catalog=AdventureWorks;Integrated Security=true;

通常,服务器名称与计算机名称相同,但 SQL Express 可能会有所不同。或者,(local)可以在这里工作。这些连接字符串将使用用户的 Windows 凭据登录到 SQL Server。对于 Web 应用程序,实际用户可能取决于是否使用模拟等。(并且,是的,连接字符串应该进入 web.config,以便可以在不重新编译应用程序的情况下更新它。如果这是一个 Web 应用程序。)

无论如何,如果这对您不起作用,您可以使用相同的搜索策略在 MSDN 或 Google 上查找其他连接字符串示例。

于 2013-03-12T19:00:07.513 回答
0

要从 C#.NET 连接到 MS SQL Server 数据库,您需要创建一个连接字符串,如下所示:

private SqlConnection connection;
private string connectionString =
@"Server=(local);Database=Embedding_SQL_Test;User ID=sa;Password=123";
connection = new SqlConnection( connectionString );

接下来,您使用上面创建的 SqlConnection 对象来创建一个 'SqlCommand',如下所示:

SqlCommand cmd = new SqlCommand( "select * from Customer where CustomerID = @Cid", connection);

此处显示的 SQL 查询可以替换为 SELECT、INSERT、UPDATE 查询等。

接下来要在数据库中执行 SQL 查询,您可以使用以下方法:

ExecuteReader - to execute SELECT queries
ExecuteNonQuery - to execute INSERT, DELETE, UPDATE, and SET statements.

这是关于如何从 C# 连接到 SQL Server 数据库并在数据库中执行 SQL 查询的非常简短的描述。有关连接字符串、方法及其参数的详细信息,请查看以下链接:( http://www.shahriarnk.com/embedding-sql-c-sharp-java-shahriar/ ) 在这里您还可以找到有关如何使用的详细信息将参数传递给 SQL 查询以及调用存储过程等等。

于 2013-03-13T12:37:52.677 回答