Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#行/列问题不存在数据_C#_Sql_Ms Access - Fatal编程技术网

C#行/列问题不存在数据

C#行/列问题不存在数据,c#,sql,ms-access,C#,Sql,Ms Access,我正在使用Microsoft Access数据库。当我尝试执行代码时,它会得到“行/列不存在数据”。我在MicrosoftAccess中执行了sql代码,它成功了 OleDbCommand cmd1 = new OleDbCommand("SELECT SUM (adet) AS gToplam from stok_isl WHERE stok_id = @veri and tur = 'GİRİŞ'", conn); cmd1.Parameters.AddWithValue("@veri",

我正在使用Microsoft Access数据库。当我尝试执行代码时,它会得到“行/列不存在数据”。我在MicrosoftAccess中执行了sql代码,它成功了

OleDbCommand cmd1 = new OleDbCommand("SELECT SUM (adet) AS gToplam from stok_isl WHERE stok_id = @veri and tur = 'GİRİŞ'", conn);
cmd1.Parameters.AddWithValue("@veri", combo);
OleDbDataReader dr1 = cmd1.ExecuteReader();


OleDbCommand cmd2 = new OleDbCommand("SELECT SUM (adet) AS cToplam from stok_isl WHERE stok_id = @veri and  tur = 'ÇIKIŞ'", conn);
cmd2.Parameters.AddWithValue("@veri", combo);
OleDbDataReader dr2 = cmd2.ExecuteReader();


Sonuc = Convert.ToDouble(dr1["gToplam"]) - Convert.ToDouble(dr2["cToplam"]);

MessageBox.Show(Sonuc.ToString());

由于您只检索一个号码,因此似乎是一个更好的选择:

...
double gToplam = (double)cmd1.ExecuteScalar();
...
double cToplam = (double)cmd2.ExecuteScalar();

Sonuc = gToplam - cToplam;
当然,您仍然可以使用
ExecuteReader
。问题是您没有调用
Read
(参见用法示例)方法来读取结果集的第一行:

...
OleDbDataReader dr1 = cmd1.ExecuteReader();
dr1.Read();
...
OleDbDataReader dr2 = cmd2.ExecuteReader();
dr2.Read();
请注意,当查询返回空结果时,这两个代码示例都不会检查案例