如何在C#中将TextBox输入内容赋值给指定字符串变量?
解决方案
很简单,你只需要在获取param变量之后,把它的值直接赋值给lol变量就行啦。修改后的代码如下:
// 确保lol是类级别的变量(如果是局部变量的话要注意作用域) string lol = "test"; private void button2_Click(object sender, EventArgs e) { string param = textBox1.Text; // 在这里添加赋值语句,把TextBox的内容同步给lol lol = param; string query = string.Format("{0}{1}%'","SELECT <<my_query>>",param); dataGridView1.AutoGenerateColumns = true; dataGridView1.DataSource = Select(query); }
几个需要注意的点:
- 要保证
lol变量的作用域能被button2_Click方法访问到。如果lol是在某个方法内部定义的局部变量,那每次点击按钮时它都会被重新初始化,这样赋值就没有持久化的意义了,所以最好把它定义在类的级别(和button2_Click方法同级)。 - 另外,你的SQL查询语句存在明显的SQL注入风险!强烈建议不要直接用
string.Format拼接用户输入的参数,改用参数化查询来避免安全问题,举个简单的示例:// 参数化查询的写法(具体要配合你的Select方法实现调整) string query = "SELECT <<my_query>> WHERE target_column LIKE @param"; // 在Select方法内部给命令添加参数 command.Parameters.AddWithValue("@param", param + "%");
内容的提问来源于stack exchange,提问作者BACards1221
相关产品推荐
相关产品推荐

