public class Service
{
public string conStr = "Data Source=.;Initial Catalog=FlightOverbook;Integrated Security=True";
DataSet ds = new DataSet();
SqlDataAdapter adapter;
public DataSet GetFlightInfo()
{
using (SqlConnection conn=new SqlConnection(conStr))
{
conn.Open();
string sql = "select * from dbo.View_1";
adapter = new SqlDataAdapter(sql,conn);
if (ds.Tables.Count>0)
{
ds.Tables.Clear();
}
adapter.Fill(ds,"flight");
}
return ds;
}
//更新
public bool UpdateInfo()
{
SqlCommandBuilder sss = new SqlCommandBuilder(adapter);
adapter.Update(ds, "flight"); return true;
}
}
在datagridview中修改单元格的内容后,按确定,跳到“adapter.Update(ds, "flight"); ”就一直显示“ConnectionString 属性尚未初始化”
不修改单元格内容点确定就没问题。
我是菜鸟,求教。
private void btnOK_Click(object sender, EventArgs e)
{
if (ss.UpdateInfo()==true)
{
MessageBox.Show("修改成功");
}
}
------解决思路----------------------
同你的Getinfor 一样,adapter也需要初始化的。
http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommandbuilder(v=vs.110).aspx
------解决思路----------------------
UpdateInfo方法没有创建SqlConnection,你要读写数据库,都要创建这个,或者用实体框架
------解决思路----------------------
你UpdateInfo也要Connect一次。
public bool UpdateInfo()
{
using (SqlConnection conn=new SqlConnection(conStr))
{
conn.Open();
SqlCommandBuilder sss = new SqlCommandBuilder(adapter);
adapter.Update(ds, "flight"); return true;
}
}