使用Like子句的insert和select语句的正确查询是什么?

时间:2016-11-19 07:44:36

标签: c# mysql

我有这个查询,它给了我错误,这是不可能在表tbl_emp_gs上插入null。我不知道我的代码有什么问题。

   this.detailprodService.getDetail()
            .subscribe(details => {
this.product_rating = details.product_rating;
this.getstars(this.product_rating);
}, error => this.errorMessage = <any>error);

我想从tbl_gradestep表中获取步骤ID,

3 个答案:

答案 0 :(得分:0)

内部查询返回private void FilesOnPropertyChanged(object sender, PropertyChangedEventArgs propertyChangedEventArgs) { throw new Exception("EXCEPTION"); bool failed; if ( Files.IsFaulted ) failed = true; } 。您应该遵循NULL语法以检索正确的结果(如果存在):

like

我建议使用string query1 = "INSERT INTO tbl_emp_gs (EmployeeID,StepID) VALUES ('"+ lblEmpID.Text +"', (Select StepID from tbl_gradestep where StepID Like @grade))"; sqc.Parameters.AddWithValue("@grade", "%" + cmbStepNumber.Text + "%"); ,除非您有正当理由执行数据读取器。

此外,不建议在SQL语句中连接字符串。

答案 1 :(得分:0)

您应该使用插入选择而不是使用选择的值.. 这样你只有在选择工作时执行插入,如果你有模式然后在行中选择你插入相同数量的行

假设@grade是搜索模式

"INSERT INTO tbl_emp_gs (EmployeeID,StepID)
 SELECT ('"+ lblEmpID.Text +"', StepID 
from tbl_gradestep where StepID Like concat('%', @grade, '%'))"

答案 2 :(得分:0)

string query1 = "INSERT INTO tbl_emp_gs (EmployeeID,StepID) VALUES ('"+ lblEmpID.Text +"', (Select StepID from tbl_gradestep where StepID Like '%@grade%'))";