如何使用SqlDataAdapter引用SQL Server数据库

时间:2013-03-12 18:45:39

标签: sql sql-server database datagrid path

我是C#的新手,我正在通过教程学习它。

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

    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语句,但即使这样也无法发挥作用。

任何提示都表示赞赏!

3 个答案:

答案 0 :(得分:1)

您的主要问题是您正在混合使用两种不兼容的数据库:

  • 您的database1.sdf文件是SQL Server 精简版数据库文件

  • 您的SqlConnectionSqlCommand用于成熟的 SQL Server(Express)版本 - 而且与SQL Server Compact兼容!

所以要么你需要

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

或那么:

  • 您切换到真正的SQL Server(Express,Standard,Enterprise),在这种情况下,您可以使用SqlConnectionSqlCommand

答案 1 :(得分:0)

以下是我如何去做。我会转到MSDN并在搜索框中输入SqlConnection。稍微探讨了一下(因为他们已经深入了解了我最喜欢的连接字符串示例),我会找到类似this的内容,例如:

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上查找其他连接字符串示例。

答案 2 :(得分: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查询以及调用存储过程等的详细信息。