如何根据来自C#

时间:2016-09-03 07:49:49

标签: c# sql-server winforms

我想在mainFrm的FormClosing事件中删除一行,其中删除行的where的值来自textBox包含的另一个表单 必须将值转换为下一个表单的第一个表单的代码是

id = Convert.ToInt32(userNametxt.Text); 
 MainFrm mainfrm = new MainFrm(id);
 mainfrm.Show();
 this.Hide(); 

第二种形式的构造函数的代码是:

public MainFrm(int id)
        {
            InitializeComponent();
            deleteById = id;
        } 

第二种形式的FormClosing事件的代码是:

 SqlCommand cmd = new SqlCommand("delete empId,empPerm from empLogin where empId="+deleteById+"", cn);
 cmd.ExecuteNonQuery();
 cn.Close();  

id变量在构造函数上方声明...异常是“不正确的语法','”任何帮助!!

2 个答案:

答案 0 :(得分:1)

您无法使用此代码删除行。

SqlCommand cmd = new SqlCommand("delete empId,empPerm from empLogin where empId="+deleteById+"", cn);

您可以使用此

代替使用此代码
SqlCommand cmd = new SqlCommand("delete from empLogin where empId="+deleteById+"", cn);

如果要从该列中删除数据,则应使用如下更新查询:

 SqlCommand cmd = new SqlCommand("update empLogin set empPerm='' where empId="+deleteById+"", cn);

答案 1 :(得分:0)

该例外明确表示select * from ( Select i.*, prop.PROPERTY_ID, prop1.VALUE From ITEM i Left Join ITEM_PROPERTY prop on i.ITEM_ID = prop.ITEM_D and prop.PROPERTY_ID in(1,2) ) pivot( max(VALUE) for PROPERTY_ID in(1 as "PROPERTY_ONE",2 as "PROPERTY_TWO") )

您的删除声明不正确。正确的删除语句是:

Incorrect syntax near ','