Return 调用方法的结果
Return Results To Calling Method
将参数传递给方法对我来说不成问题,但是 return将参数传递给调用方方法,我从来没有这样做过,也不知道该怎么做。例如,我想从我的 GetStartOfQuery 方法 return soq。我如何才能将该数据返回到我的 BuildAQuery 方法中?
public static string soq = string.Empty;
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
GetStartOfQuery(databaseName);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
public static void GetStartOfQuery(string databaseName)
{
if (VBS.Left(databaseName, 2) == "AC")
{
soq = "Select hiredate, terminationdate, employeename, ";
}
else
{
soq = "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
}
假设您只需要一个字符串:
public static string GetStartOfQuery(string databaseName)
{
if (VBS.Left(databaseName, 2) == "AC")
{
return "Select hiredate, terminationdate, employeename, ";
}
else
{
return "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
}
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
soq = GetStartOfQuery(databaseName);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
会成功的
你最好使用这样的函数:
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
soq = GetStartOfQuery(databaseName);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
public static string GetStartOfQuery(string databaseName)
{
if (VBS.Left(databaseName, 2) == "AC")
{
soq = "Select hiredate, terminationdate, employeename, ";
}
else
{
soq = "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
return soq;
}
因为 void 不 return 任何东西,而你想要一个值被 returned。如果您不想在 string
函数中 return 它,您可以根据需要将 var 作为 out
或 ref
传递。喜欢:
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
string soq = string.Empty.
GetStartOfQuery(databaseName, soq);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
public static void GetStartOfQuery(string databaseName, out string soq)
{
if (VBS.Left(databaseName, 2) == "AC")
{
soq = "Select hiredate, terminationdate, employeename, ";
}
else
{
soq = "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
}
将参数传递给方法对我来说不成问题,但是 return将参数传递给调用方方法,我从来没有这样做过,也不知道该怎么做。例如,我想从我的 GetStartOfQuery 方法 return soq。我如何才能将该数据返回到我的 BuildAQuery 方法中?
public static string soq = string.Empty;
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
GetStartOfQuery(databaseName);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
public static void GetStartOfQuery(string databaseName)
{
if (VBS.Left(databaseName, 2) == "AC")
{
soq = "Select hiredate, terminationdate, employeename, ";
}
else
{
soq = "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
}
假设您只需要一个字符串:
public static string GetStartOfQuery(string databaseName)
{
if (VBS.Left(databaseName, 2) == "AC")
{
return "Select hiredate, terminationdate, employeename, ";
}
else
{
return "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
}
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
soq = GetStartOfQuery(databaseName);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
会成功的
你最好使用这样的函数:
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
soq = GetStartOfQuery(databaseName);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
public static string GetStartOfQuery(string databaseName)
{
if (VBS.Left(databaseName, 2) == "AC")
{
soq = "Select hiredate, terminationdate, employeename, ";
}
else
{
soq = "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
return soq;
}
因为 void 不 return 任何东西,而你想要一个值被 returned。如果您不想在 string
函数中 return 它,您可以根据需要将 var 作为 out
或 ref
传递。喜欢:
public static void BuildAQuery(string databaseName)
{
dao.Database dd;
dao.DBEngine db = new dao.DBEngine();
var qd1 = new dao.QueryDef();
string soq = string.Empty.
GetStartOfQuery(databaseName, soq);
dd = db.OpenDatabase(SetPath(databaseName));
qd1.Name = String.Format("qry_PersonalInformation");
qd1.SQL = String.Format(startOfQuery + "location", "empID");
dd.QueryDefs.Append(qd1);
}
public static void GetStartOfQuery(string databaseName, out string soq)
{
if (VBS.Left(databaseName, 2) == "AC")
{
soq = "Select hiredate, terminationdate, employeename, ";
}
else
{
soq = "Select hiredate, employeename, timeoffaccrued, timeoffused, ";
}
}