错误提示:
class EDBEngineError with message 'General SQL error,[Microsoft][ODBC SQL Server Deriver][SQL server]将数据类型varchar转换为numeric时出错。'语句为:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from docu_table where j_num= '+trim(Edit2.Text));//j_num为varchar型
Query1.Prepare;
Query1.Open;
class EDBEngineError with message 'General SQL error,[Microsoft][ODBC SQL Server Deriver][SQL server]将数据类型varchar转换为numeric时出错。'语句为:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from docu_table where j_num= '+trim(Edit2.Text));//j_num为varchar型
Query1.Prepare;
Query1.Open;
不可能只用一对单引号的。
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from docu_table where j_num='''+trim(Edit2.Text)+'''');//j_num为varchar型
Query1.Prepare;
Query1.Open;注意,最后是四个单引号!
或者也可以写成:Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from docu_table where j_num=:j');//j_num为varchar型
query1.Parameters.ParamByName('j').value:=trim(edit1.text);
Query1.Prepare;
Query1.Open;
这样写:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'select * from docu_table where j_num= '+QuotedStr(trim(Edit2.Text));//j_num为varchar型
Query1.Open;