C# Can';无法使数据集的更新正常工作
我有几个问题。我正在做一个健身房管理系统提交给我的大学。我通过阅读www.homeandlern.co.uk上的教程实现了一个基于服务的数据库。问题是我不能更新它C# Can';无法使数据集的更新正常工作,c#,database,visual-studio-2012,dataset,C#,Database,Visual Studio 2012,Dataset,我有几个问题。我正在做一个健身房管理系统提交给我的大学。我通过阅读www.homeandlern.co.uk上的教程实现了一个基于服务的数据库。问题是我不能更新它 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Gym_Management_System { class GMSDConn
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Gym_Management_System
{
class GMSDConnectionClass
{
public string sql_string;
public string strCon;
public string Sql
{
set { sql_string = value; }
}
public string connection_string
{
set { strCon = value; }
}
public System.Data.DataSet GetConnection
{
get { return MyDataSet(); }
}
public System.Data.DataSet MyDataSet()
{
System.Data.SqlClient.SqlConnection con = new
System.Data.SqlClient.SqlConnection(strCon);
con.Open();
System.Data.SqlClient.SqlDataAdapter da_1 = new
System.Data.SqlClient.SqlDataAdapter(sql_string, con);
System.Data.DataSet dat_set = new System.Data.DataSet();
da_1.Fill(dat_set, "Table_data_1");
con.Close();
return dat_set;
}
public void UpdateDatabase(System.Data.DataSet ds)
{
System.Data.SqlClient.SqlCommandBuilder cb = new
System.Data.SqlClient.SqlCommandBuilder(da_1);
cb.DataAdapter.Update(ds.Tables[0]);
}
}
}
问题是我无法访问UpdateDatabase()
方法中的da_1
怎么了?我试过几次,但都没能成功。这可能是一个简单的问题,但我对数据库和这些东西是完全陌生的
注:
我必须在2014年1月23日提交此项目。变量不能在其声明范围之外访问。有各种范围规则。。这里您最关心的是方法范围。这可能有助于解释:
public System.Data.DataSet MyDataSet()
{
// da_1 is delcared in this method.. it is only available here
...
System.Data.SqlClient.SqlDataAdapter da_1 = new
System.Data.SqlClient.SqlDataAdapter(sql_string, con);
...
}
public void UpdateDatabase(System.Data.DataSet ds)
{
// not available here
}
以便跨类中的方法访问它。。您必须在类级别声明它:
class GMSDConnectionClass
{
System.Data.SqlClient.SqlDataAdapter da_1;
然后,您可以在其他方法中按如下方式分配:
da_1 = new System.Data.SqlClient.SqlDataAdapter(sql_string, con);
请不要重复问题标题中的标签。是的,这是有效的。谢谢你,伙计。我会在这里询问更多信息。但它仍然没有更新我的数据库:(