向数据库里面插入NULL值有关问题

向数据库里面插入NULL值问题
现在我需要向数据里面循环插入stringgrid中的数据,当stringgrid.cell[] 即有的单元格为空的时候我需要在数据库中表示为NULL即未知。请教高手们语句该怎么写?
我自己用两个edit试验了一下代码如下 
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  str1,str2:string;
begin
  if Trim(edit1.Text)='' then
  str1:=null
  else
  str1:=edit1.Text;
  str2:=edit2.Text;
  adocommand1.CommandText:='insert into table2([id],[path])values('''+str1+''','''+str2+''')';
  adocommand1.Execute;
end;
程序运行不成功,我想知道该怎么写代码才能达到我下面测试数据里面的格式
测试数据库格式如下
 id path
 a a
 NULL b
 c NULL
 d
 e
测试数据库列比较少,实际上stringgrid的列比较长的

------解决方案--------------------
值的地方直接写null就可以,试试看
------解决方案--------------------
试一下
str1:=#0
------解决方案--------------------
顶。也想知道Delphi中关于NULL的解决办法
------解决方案--------------------
每次插入之前判断一下str1,str2是不是空,是空的话就插入null
------解决方案--------------------
写个函数进行转换,如果字符串为空,则返回null
function GetStrValue(value: string): string;
begin
if value='' then result := 'null'
else result := ''''+result+'''';
end;


adocommand1.CommandText:= 'insert into table2([id],[path])values( '+GetStrValue(str1)+ ', '+GetStrValue(str2)+ ')';
------解决方案--------------------
你的数据库中要插入的字段是字符串类型,你要插入'null'才可以的

直接插入null,那是给整型字段准备的
------解决方案--------------------
uses StrUtils; //Ifthen(...)
...
procedure TForm1.BitBtn1Click(Sender: TObject); 
var 
str1,str2:string; 
begin 
srt1 := Trim(edit1.Text); 
str2 := Trim(edit2.Text)= ; 

adocommand1.CommandText := 
' INSERT INTO table2 ([id],[path]) ' +
' VALUES( ' +
Ifthen(str1 = '', 'NULL', QuotedStr(str1) ) + ',' +
Ifthen(str2 = '', 'NULL', QuotedStr(str2) ) +
' ) '; 
adocommand1.Execute; 
end;