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