C# 无法正确访问SqlCommand类型
我目前正在我的项目中制作第二个表单。我的SQL命令是一个更新命令,它将编辑现有行,因此我的表单将在C# 无法正确访问SqlCommand类型,c#,visual-studio-2015,C#,Visual Studio 2015,我目前正在我的项目中制作第二个表单。我的SQL命令是一个更新命令,它将编辑现有行,因此我的表单将在CellMouseDoubleClick事件中打开,以便我可以编辑行、提交更改,然后更新数据库。 理想情况下,我希望在代码的开头有这两行代码 public partial class EditData : Form { SqlConnection strCon = new SqlConnection("Data Source=.;Initial Catalog=CQ_DAT
CellMouseDoubleClick
事件中打开,以便我可以编辑行、提交更改,然后更新数据库。
理想情况下,我希望在代码的开头有这两行代码
public partial class EditData : Form
{
SqlConnection strCon = new SqlConnection("Data Source=.;Initial Catalog=CQ_DATA;Integrated Security=True;");
SqlCommand searchCommand = new SqlCommand("SP_UpdateQuery", strCon);
但显然我不能,因为这会导致编译器出错
我希望这样做,因为我有两个功能
首先:
public EditData(string name, string surname, string CompName, string Address, string MoNo, string PoNo, string AreaCode, string Email, string Date)
从双击事件中获取行的初始值并将其加载到一些文本框中,还将这些值保存为sqlCommand中的原始参数,例如
txtName.Text = name;
searchCommand.Parameters.Add("@Name", SqlDbType.NVarChar).Value = txtName.Text;
其次,我有一个提交按钮
private void btnSubmit_Click(object sender, EventArgs e)
它使用我以前编写和测试过的验证代码重新验证我的所有文本框。在检查它们是否有效后,我将它们添加为我想要将旧的更改为的参数
searchCommand.Parameters.Add("@NewName", SqlDbType.NVarChar).Value = txtName.Text;
然后我简单地执行非查询
strCon.Open(); //OPEN CONNECTION
//searchCommand.CommandText = "SP_UpdateQuery";
searchCommand.ExecuteNonQuery();
strCon.Close();
我试图使用全局变量,每当我运行表单两次时都会遇到一些问题。无论如何,我从来都不想坚持使用globals,所以有人能对我的逻辑或代码提出一些改进建议吗?
关键的两条线
SqlConnection strCon = new SqlConnection("Data Source=.;Initial Catalog=CQ_DATA;Integrated Security=True;");
SqlCommand searchCommand = new SqlCommand("SP_UpdateQuery", strCon);
我应该把它们放在哪里/如何更好地使用它们
谢谢你的时间 简单修复。
只需不初始化要开始的值
SqlConnection strCon = new SqlConnection("Data Source=.;Initial Catalog=CQ_DATA;Integrated Security=True;");
SqlCommand searchCommand;
相反,把它放在构造函数中,不管怎样,构造函数总是先出现一次
public EditData(string name, string surname, string CompName, string Address, string MoNo, string PoNo, string AreaCode, string Email, string Date)
{
searchCommand = new SqlCommand("SP_UpdateQuery", strCon);