2012-07-30 63 views
1

今年夏天我正在做一个C#课程,在当前的任务中我将使用数据库。非常有趣,我渴望工作,但我现在完全失去了(也许我的血液不足)!根据任务的要求,我必须使用使用DataSets或dataTables,DataAdapter和CommandBuilders的断开方法将数据库的副本加载到内存中以使用它(打开,读取和关闭),然后当我想要更新时数据库,做相反的(打开,保存并关闭)提示读取并保存到数据库

我创建了一个SQL Server 2008数据库,我也创建了一个表。嗯,现在什么!?我想我必须开始连接到数据库并选择表格。从这里开始,我会提供一些提示。期待着开始!谢谢!

+2

你的问题含糊不清 - 你能更具体一点吗? “欣赏一些提示”并不能帮助我们。你只是想知道如何连接? – 2012-07-30 14:24:32

+0

有些帮助连接会很好,但也有读取和写入数据库的副本 – 2012-07-30 14:28:19

+3

从实体框架开始! (www.codeguru.com/csharp/csharp/net30/article.php/c15489/ADONET-Entity-Framework-Tutorial-and-Basics.htm):-) – bitsmuggler 2012-07-30 14:29:14

回答

2

这取决于两个参数

1. your amount of data has to update 

2. the update frequency 

如果你觉得这两个参数是重要的,可以减缓你的应用程序,然后使用离线模式。

的数据量可以减轻带宽

下面的示例

var adapter = new SqlDataAdapter(); 
    var dataSet = new DataSet(); 

    using(var connection = new SqlConnection(connetionString)) 
    { 
     connection.Open(); 
     adapter.SelectCommand = new SqlCommand("Your query", connection); 
     adapter.Fill(dataSet); 
     connection.Close(); 

     //Print results 
     for (i = 0; i <= dataSet.Tables[0].Rows.Count - 1; i++) 
     { 
      MessageBox.Show(dataSet.Tables[0].Rows[1].ItemArray[1].ToString()); 
     } 
    } 
2

可以通过使用一个SqlConnection对象连接。它位于System.Data.SqlClient命名空间中。当您断开连接或连接时,您将希望熟悉这些对象。我提供的链接中有一些示例代码。

你需要一个连接字符串传递给构造函数。如果你的数据库在本地运行,它可能可能是看起来像这样。

string connectionString = "Data Source=localhost;Initial Catalog=TheNameOfYourDatabase;Integrated Security=SSPI"; 

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 
} 

就这么简单。由于对象实现了IDisposable,因此可以使用using语句,以便对象适当地处理清理(在这种情况下,默认情况下,连接将返回到连接池)。

之后,您可以看看SqlCommand,以便您可以开始对数据库发出命令。

1

其实你有几种方法可用。 从DataReader和DBCommand开始,一直到ORM实体框架和POCO。 当你提高抽象层次时,他们会为你做越来越多的事情,但是除非你知道基础知识,否则你的范围越来越小。

如果我是你,我会在梯子

那的SqlConnection,SqlCommand的,SqlParameter的和SqlDataReader的

底部开始

跌不下去的沃利向导,点击一个按钮和Visual Studio这一切都为你的路线。他们是两种类型的人,知道他们在做什么的人,以及不想知道的人......

大量的教程,但如果我是你。我会用C#书籍进行一次体面的编程,转到关于数据库的章节,阅读并做,再读一遍。那些发现这些东西真的很难的人是那些没有这么做的人。

当你这样做的时候,如果你需要的话,你会知道足够的回来并且提出正确的问题。

相关问题