为什么SQL Server CE不插入一些列值?

时间:2017-05-22 23:19:37

标签: c# sql-server-ce

首先,我从.CSV文件中获取一些列值,然后按预期工作。接下来我将列数据存储在矩阵中,每行都在我的数据库中注册,但是当我查询这些值时,其中一些是""。

var db = Database.Open("mydb");
int ok = 0; int no = 0;
string[][] r; // Where the results of CSV are stored

for(int i = 0; i < r.Length; i++) {
    string kon = "insert into Data (col1, col2, col3 ...) values (@0, @1, @2 ...)";
    // If data is stored or not
    if(db.Execute(kon, r[i][0], r[i][1], r[i][2], ...)>0){
       ok++;
    }
    else {
       no++;
    }
}

所以我认为这是我的错误,但后来我尝试在控制台上执行查询并且它正常工作。我声明了一个字符串,连接的值并在for循环中打印出来,我得到一些这样的东西:

insert into Data (col1, col2, col3 ...) values ("a", "b", "c" ...)

当我查询表&#34;数据&#34;上的所有记录时,for循环存储的值看起来像

col1|col2|col3|col4|...
----|----|----|----|...
   a|    |   c|    |...

此外,在某些记录中,col2和col4的值是正确的。

当我在控制台上复制粘贴查询时,我得到了整个数据

col1|col2|col3|col4|...
----|----|----|----|...
   a|   b|   c|   d|...

我不明白它发生了什么,为什么我会丢失数据?

0 个答案:

没有答案