有关使用SQL Server 2008的断开连接模式的问题

时间:2012-08-01 14:23:28

标签: c# sql-server-2008

我对下面的代码有两个问题,即我使用Dataset将数据库复制到内存中。

第一个问题:我想知道为什么我不能使用此代码进行连接:

connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DALLayer.Properties.Settings.AnimalMotelConnectionString"].ConnectionString);

我收到此错误消息:

  

对象引用未设置为对象的实例。

请解释我错过的内容。我在app.config中使用名称字符串。现在我的连接是硬编码的,就像在下面的代码中那样有效。

第二个问题:当我使用数据集时,我想我只能在sql命令中读取和执行操作。当我想要更改,添加或删除时,我必须使用另一个sql命令和一个新数据集吗?

 public void Test()
    {
        SqlConnection connection;
        SqlCommand command;
        SqlDataAdapter adapter = new SqlDataAdapter();
        DataSet dataset = new DataSet();

        string connectionsString = null;
        string sql = null;

        connectionsString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\AnimalMotel.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
        sql = "SELECT * From Guests";

        connection = new SqlConnection(connectionsString);

        try
        {
            connection.Open();
            command = new SqlCommand(sql, connection);
            adapter.SelectCommand = command;
            adapter.Fill(dataset);
            adapter.Dispose();
            command.Dispose();
            connection.Close();

            MessageBox.Show(Convert.ToString(dataset.Tables[0].Rows[1].ItemArray[1]), "This is only a test!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
        }
        catch
        {
            throw;
        } 
    }

0 个答案:

没有答案