我将数据存在了一个字符串数组里面,可是我现在想把它们都依次取出来并存到数据库里面去,而且在存储的过程中给他们每个都加上一个标志位,这怎么才能实现呢,是不是得用循环阿,下面是我的代码:
OleDbConnection cn = new OleDbConnection( @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\data.mdb");
cn.Open();

string[] br=j.Split('#');
for(int x=0;x<=br.Length-1;x++)
{
MessageBox.Show(br[x].Trim());
string sql ="insert into number (num,flag) values(i,0)";
OleDbCommand com=new OleDbCommand(sql,cn);
com.ExecuteNonQuery();
}
cn.Close();
字符串j里存的是这样的数据,例如1#12#4#,中间都是用#隔开,我将他们放到了数组br里,我想的是循环存到数据库里,可是提示说INSERT INTO 语句出错,各位大师帮帮忙,多谢

解决方案 »

  1.   

    for(int x=0;x<=br.Length-1;x++)注意您的 x
    string sql ="insert into number (num,flag) values(i,0)";
    这里是i,而且也要知道变量在这里怎么吧?!
      

  2.   

    string j = "1#12#4";
    OleDbConnection cn = new OleDbConnection( @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\data.mdb");
    cn.Open();

    string[] br=j.Split('#');
    for(int x=0;x<=br.Length-1;x++) {
    int nflag = Convert.ToInt32(br[x]);
    string sql ="insert into mynumber(num,flag) values(" + x + "," + nflag + ")";
    OleDbCommand com=new OleDbCommand(sql,cn);
    com.ExecuteNonQuery();
    }
    cn.Close();
    还有 number不能作为表名,否则异常;num 和 flag 字段为数字型