C# &引用;栏「;不属于表
下面是我这个方法的代码。我想处理我正在使用的数据库中的活动列,但我得到一个错误,即“活动”不属于表。它清楚地显示在表中,我在RestartData.cs中用属性定义了它。在数据库中,我将其设置为位,而不是布尔值。我想知道这是否是问题所在。1表示真,0表示假。我通过谷歌对此进行了研究,但并没有找到任何相关信息。任何帮助都将不胜感激C# &引用;栏「;不属于表,c#,database,C#,Database,下面是我这个方法的代码。我想处理我正在使用的数据库中的活动列,但我得到一个错误,即“活动”不属于表。它清楚地显示在表中,我在RestartData.cs中用属性定义了它。在数据库中,我将其设置为位,而不是布尔值。我想知道这是否是问题所在。1表示真,0表示假。我通过谷歌对此进行了研究,但并没有找到任何相关信息。任何帮助都将不胜感激 static List<RestartData> AppRestartList() { List<Restar
static List<RestartData> AppRestartList()
{
List<RestartData> restartDatas = new List<RestartData>();
RestartData restartData = null;
string sqlQuery = "Select RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
//execute sql query
//execute database reader
SqlCommand command = new SqlCommand(sqlQuery, (SqlConnection)DB.MakeConnection("any_database"));
DataTable dt;
command.Connection.Open();
dt = DB.ExecuteTable(command, "any_database");
foreach (DataRow row in dt.Rows)
{
//move stuff from reader into log data, and exp
//not RestartData restartData = new RestartData(); The RestartData() method is already declared
restartData = new RestartData();
restartData.ProgramLocation = Misc.NullSafeString(row["programLocation"]);
restartData.Active = Misc.NullSafeBool(row["active"]);
restartData.RestarInterval = Misc.NullSafeInt(row["restartInterval"]);
restartData.RestartIfRunning = Misc.NullSafeBool(row["restartIfRunning"]);
restartData.ProcessName = Misc.NullSafeString(row["processName"]);
restartData.LastRestartTime = Misc.NullSafeDateTime(row["lastRestartTime"]);
//add restartData to list
restartDatas.Add(restartData);
}
return restartDatas;
}
静态列表AppRestartList()
{
List restartDatas=新列表();
RestartData RestartData=null;
string sqlQuery=“从dbo.anyDatabase中选择RestartTime、ProgramLocation、LastRestartTime、RestartInterval、ProgramServer、RestartFrunning、ProcessName,其中active=1;”;
//执行sql查询
//执行数据库读取器
SqlCommand=newsqlcommand(sqlQuery,(SqlConnection)DB.MakeConnection(“any_数据库”);
数据表dt;
command.Connection.Open();
dt=DB.ExecuteTable(命令,“任意_数据库”);
foreach(数据行中的数据行)
{
//将内容从读卡器移动到日志数据中,然后
//not RestartData RestartData=new RestartData();已声明RestartData()方法
restartData=新的restartData();
restartData.ProgramLocation=Misc.NullSafeString(第[“ProgramLocation”]行);
restartData.Active=Misc.NullSafeBool(行[“Active”]);
restartData.restartinerval=Misc.NullSafeInt(行[“restartInterval]”);
restartData.restartfrunning=Misc.NullSafeBool(行[“restartfrunning”]);
restartData.ProcessName=Misc.NullSafeString(行[“ProcessName”]);
restartData.LastRestartTime=Misc.NullSafeDateTime(行[“LastRestartTime]”);
//将restartData添加到列表中
添加(restartData);
}
返回restartDatas;
}
这是因为您没有从查询中选择活动列
string sqlQuery = "Select RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
上面的查询变成了一个数据表,其中将包含使用select
语句选择的列
现在,您正在使用此数据表,并尝试访问该数据表
中甚至不存在的活动
列
因此,此语句将导致错误
restartData.Active = Misc.NullSafeBool(row["active"]);
因此,您需要使用select查询选择active
列
string sqlQuery = "Select Active, RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
但除此之外,我想说,为什么要访问active
col-like的值
这个
即使您知道此值也将始终为1
所以最好像这样使用它
restartData.Active = true;
这是因为您没有从查询中选择active
列
string sqlQuery = "Select RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
上面的查询变成了一个数据表,其中将包含使用select
语句选择的列
现在,您正在使用此数据表,并尝试访问该数据表
中甚至不存在的活动
列
因此,此语句将导致错误
restartData.Active = Misc.NullSafeBool(row["active"]);
因此,您需要使用select查询选择active
列
string sqlQuery = "Select Active, RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
但除此之外,我想说,为什么要访问active
col-like的值
这个
即使您知道此值也将始终为1
所以最好像这样使用它
restartData.Active = true;
这是因为您没有从查询中选择active
列
string sqlQuery = "Select RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
上面的查询变成了一个数据表,其中将包含使用select
语句选择的列
现在,您正在使用此数据表,并尝试访问该数据表
中甚至不存在的活动
列
因此,此语句将导致错误
restartData.Active = Misc.NullSafeBool(row["active"]);
因此,您需要使用select查询选择active
列
string sqlQuery = "Select Active, RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
但除此之外,我想说,为什么要访问active
col-like的值
这个
即使您知道此值也将始终为1
所以最好像这样使用它
restartData.Active = true;
这是因为您没有从查询中选择active
列
string sqlQuery = "Select RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
上面的查询变成了一个数据表,其中将包含使用select
语句选择的列
现在,您正在使用此数据表,并尝试访问该数据表
中甚至不存在的活动
列
因此,此语句将导致错误
restartData.Active = Misc.NullSafeBool(row["active"]);
因此,您需要使用select查询选择active
列
string sqlQuery = "Select Active, RestartTime, ProgramLocation, LastRestartTime, RestartInterval, ProgramServer, RestartIfRunning, ProcessName from dbo.anyDatabase where active=1;";
但除此之外,我想说,为什么要访问active
col-like的值
这个
即使您知道此值也将始终为1
所以最好像这样使用它
restartData.Active = true;
我想你的实际选择
Select RestartTime,
ProgramLocation,
LastRestartTime,
RestartInterval,
ProgramServer,
RestartIfRunning,
ProcessName
from dbo.anyDatabase
where active=1
很好
请注意,active
不在选择列表中,但您正在中引用它
restartData.Active = Misc.NullSafeBool(row["active"]);
要么更改选择
以包含活动
列,要么删除引用该列的行。我认为您的实际选择
Select RestartTime,
ProgramLocation,
LastRestartTime,
RestartInterval,
ProgramServer,
RestartIfRunning,
ProcessName
from dbo.anyDatabase
where active=1
很好
请注意,active
不在选择列表中,但您正在中引用它
restartData.Active = Misc.NullSafeBool(row["active"]);
要么更改选择
以包含活动
列,要么删除引用该列的行。我认为您的实际选择
Select RestartTime,
ProgramLocation,
LastRestartTime,
RestartInterval,
ProgramServer,
RestartIfRunning,
ProcessName
from dbo.anyDatabase
where active=1
很好
请注意,active
不在选择列表中,但您正在中引用它
restartData.Active = Misc.NullSafeBool(row["active"]);
要么更改选择
以包含活动
列,要么删除引用该列的行。我认为您的实际选择
Select RestartTime,
ProgramLocation,
LastRestartTime,
RestartInterval,
ProgramServer,
RestartIfRunning,
ProcessName
from dbo.anyDatabase
where active=1
很好
请注意,active
不在选择列表中,但您正在中引用它