我是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语句,但即使这样也无法发挥作用。
任何提示都表示赞赏!
答案 0 :(得分:1)
您的主要问题是您正在混合使用两种不兼容的数据库:
您的database1.sdf
文件是SQL Server 精简版数据库文件
您的SqlConnection
和SqlCommand
用于成熟的 SQL Server(Express)版本 - 而且不与SQL Server Compact兼容!
所以要么你需要
database1.sdf
) - 但在这种情况下,您需要使用SqlCeConnection
和SqlCeCommand
以及那些命令或那么:
SqlConnection
和SqlCommand
答案 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查询以及调用存储过程等的详细信息。