我是 C# 世界的新手,所以慢慢来吧! :]
我什至不确定我使用的术语是否正确。我认为这将是一个简单的谷歌搜索,但恐怕我的措辞可能不正确。
我正在从数据库收集数据。就像这样:
SqlConnection mySqlConnection = new SqlConnection(strings.settings.connectionString);
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText = "SELECT FNAME, LNAME, ZIPCODE FROM database WHERE ID = @ID";
mySqlCommand.Parameters.Add("@ID", SqlDbType.Char).Value = txtID.Text;
mySqlConnection.Open();
SqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader(CommandBehavior.SingleRow);
if (mySqlDataReader.HasRows == false)
{
throw new Exception();
}
if (mySqlDataReader.Read())
{
txtFname.Text = mySqlDataReader[0].ToString();
txtLname.Text = mySqlDataReader[1].ToString();
lblZipcode.Text = mySqlDataReader[2].ToString();
//need help on stringing the value ZIPCODE above.
}
我的问题是:如何将邮政编码值串到另一个函数?我一直在尝试类似的事情
string Zipcode = mySqlDataReader[2].ToString();
但我在尝试找出如何字符串化该值时陷入困境,以便我可以在不同的函数中使用它,如下所示:
private void GetZipData()
{
//Get that value
}
任何帮助或正确方向的指出将不胜感激!
最佳答案
要么我误解了这个问题,要么你的方法从根本上是错误的。首先,您的 GetZipData()
返回 void
所以它是一个子例程,而不是函数。更好的是,将其称为一种方法,因为它涵盖了 subs 和 funcs...
你可以像这样传递参数...
public void GetZipData(String SomeInputString) {
///Do something
}
你可以从这样的函数返回东西......
public String GetZipData() {
return "Some String";
}
我怀疑您想要做的是从数据读取器获取单个邮政编码或邮政编码列表。类似...
public String GetZipData(Integer Id) {
//All your MySQL Code here
return mySqlDataReader[2].ToString();
}
那么你可以简单地这样调用它......
String TheZipCode = GetZipData(123);
当然,您也可以考虑做其他事情 - 例如创建一个类来代表客户并返回该类而不是字符串 - 然后您可以在一次 Db 行程中获取所有信息...
class Person {
String Firstname;
String Lastname;
String ZipCode;
}
public Person GetPersonData(Integer Id) {
//All your MySQL Code here
Person ReturnData = new Person();
ReturnData.Firstname = mySqlDataReader[0].ToString();
ReturnData.Lastname = mySqlDataReader[1].ToString();
ReturnData.ZipCode = mySqlDataReader[2].ToString();
return ReturnData;
}
那么你就会...
Person person = GetPersonData(12);
//You can now use person.Firstname, person.ZipCode, etc...
关于c# - 如何在两个函数之间字符串化一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13293796/