我对下面的代码有两个问题,即我使用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;
}
}