c# - 公共字符串不会返回所有信息
问题描述
试图弄清楚这一点..已经搜索了一段时间,但没有得到任何地方。
我在 form1 中有以下代码,并且运行良好。
Connection.tanv = txtUser.Text;
Connection.tpass = txtPasswd.Text;
try {
connection = new MySqlConnection("datasource=localhost;port=3306;database=Diary;username=" + Connection.tanv + ";password=" + Connection.tpass + "");
在一个名为 Connection 的类中,我有以下代码
public class Connection
{
public static string tanv { get; set; }
public static string tpass { get; set; }
public static string strcon = "datasource=localhost;port=3306;database=Diary;username=" + tanv + ";password=" + tpass + "";
}
例如,当我这样做时
Messagebox.Show(Connection.tanv);
我得到正确的信息
但是当我尝试做
Messagebox.Show(Connection.strcon);
我只得到文本而不是来自其他字符串的信息......我做错了什么?
解决方案
public static string strcon = "datasource=localhost;port=3306;database=Diary;username=" + tanv + ";password=" + tpass + "";
这是一个静态字段。它被初始化一次。当它被初始化tanv
并且tpass
仍然是null
,所以这并没有做一些有用的事情。
您希望每次strcon
请求时都发生字符串连接。为此,将其设为属性:
public static string strcon => "datasource=localhost;port=3306;database=Diary;username=" + tanv + ";password=" + tpass + "";
// ^^^^
推荐阅读
- openssl - ./configure 中的 openssl 检查失败
- django - 是否可以让 TextFields 的默认值引用 txt 文件?
- react-native - 如何在重生中使用带有图像的 data-url?
- hibernate - Hibernate REQUIRES_NEW 或 NESTED 不适用于 MariaDB InnoDB
- laravel - 在 null 上调用成员函数 getCLientOriginalExtension() 使用 laravel
- c# - 如何将组合框选定项或值存储为短时可能为空
- python - 通过具有多个 if 语句的 pandas 数据帧优化循环和计算
- php - 如何订购带有日期和时间的 wp_query
- c# - 如何使 FlowLayoutPanel 居中
- javascript - 如何使用列表数据创建 Javascript 饼图?