Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.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# &引用;InvalidArgument=的值';1';对';无效;索引';。参数名称:index";,在显示第二个数据索引并将其插入数据库时发生_C#_Mysql_Database_Indexing - Fatal编程技术网

C# &引用;InvalidArgument=的值';1';对';无效;索引';。参数名称:index";,在显示第二个数据索引并将其插入数据库时发生

C# &引用;InvalidArgument=的值';1';对';无效;索引';。参数名称:index";,在显示第二个数据索引并将其插入数据库时发生,c#,mysql,database,indexing,C#,Mysql,Database,Indexing,问候,, 我有一个功能,可以从考勤机中提取数据,显示并存储在数据库中,然后从考勤机中删除数据,, 然后,当第二个索引数据显示并保存在数据库中时,出现了一个问题,错误如下: “InvalidArgument=值'1'对'index'无效。参数名称:index” 这是我的代码: private void RunThis(object source, ElapsedEventArgs e) { //Console.WriteLine("Print

问候,,
我有一个功能,可以从考勤机中提取数据,显示并存储在数据库中,然后从考勤机中删除数据,,

然后,当第二个索引数据显示并保存在数据库中时,出现了一个问题,错误如下:
“InvalidArgument=值'1'对'index'无效。参数名称:index”

这是我的代码:

private void RunThis(object source, ElapsedEventArgs e)
        {
            //Console.WriteLine("Print this in every 10 seconds");
            this.Invoke(new MethodInvoker(delegate ()
            {
                int idwErrorCode = 0;

                string ip = txtIP.Text;
                string sdwEnrollNumber = "";
                int idwVerifyMode = 0;
                int idwInOutMode = 0;
                int idwYear = 0;
                int idwMonth = 0;
                int idwDay = 0;
                int idwHour = 0;
                int idwMinute = 0;
                int idwSecond = 0;
                int idwWorkcode = 0;

                int iGLCount = 0;
                int iIndex = 0;
                string iNoData = "NO DATA";
                string iError = "ERROR";
                string iDel = "DATA DELETE";
                

                Cursor = Cursors.WaitCursor;
                //lvLogs.Items.Clear();
                axCZKEM1.EnableDevice(iMachineNumber, false);//disable the device
                    if (axCZKEM1.ReadGeneralLogData(iMachineNumber))//read all the attendance records to the memory
                    {
                        while (axCZKEM1.SSR_GetGeneralLogData(iMachineNumber, out sdwEnrollNumber, out idwVerifyMode,
                                    out idwInOutMode, out idwYear, out idwMonth, out idwDay, out idwHour, out idwMinute, out idwSecond, ref idwWorkcode))//get records from the memory
                        {
                        if (iIndex >= 0)
                        {


                            lvLogs.Items.Clear();
                            iGLCount++;
                            lvLogs.Items.Add(iGLCount.ToString());
                            lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber);//modify by Darcy on Nov.26 2009
                            lvLogs.Items[iIndex].SubItems.Add(ip.ToString());
                            lvLogs.Items[iIndex].SubItems.Add(idwVerifyMode.ToString());
                            lvLogs.Items[iIndex].SubItems.Add(idwInOutMode.ToString());
                            lvLogs.Items[iIndex].SubItems.Add(idwYear.ToString() + "-" + idwMonth.ToString() + "-" + idwDay.ToString() + " " + idwHour.ToString() + ":" + idwMinute.ToString() + ":" + idwSecond.ToString());
                            lvLogs.Items[iIndex].SubItems.Add(idwWorkcode.ToString());
                            iIndex++;

                            try
                            {
                                //This is my connection string i have assigned the database file address path  
                                string MyConnection2 = "datasource=192.168.10.3;Port=3306;Database=Log_absen;Uid=manager;Pwd=@Gl0b4l1nd0";
                                //This is my update query in which i am taking input from the user through windows forms and update the record.  
                                //string Query = "insert into (dvc0005 set NIK='" + sEnrollNumber + "',Enroll='" + iYear + "' - '" + iMonth + "' - '" + iDay + "' where NIK='" + sEnrollNumber + "';)";

                                string NIK = sdwEnrollNumber;
                                string device = txtIP.Text.ToString();
                                string thn = idwYear.ToString();
                                string bln = (idwMonth < 10 ? '0' + idwMonth.ToString() : idwMonth.ToString());
                                string hr = (idwDay < 10 ? '0' + idwDay.ToString() : idwDay.ToString());
                                string jm = (idwHour < 10 ? '0' + idwHour.ToString() : idwHour.ToString()); ;
                                string mnt = (idwMinute < 10 ? '0' + idwMinute.ToString() : idwMinute.ToString()); ;
                                string dtk = (idwSecond < 10 ? '0' + idwSecond.ToString() : idwSecond.ToString()); ;
                                string tgl = thn + '-' + bln + '-' + hr + ' ' + jm + ':' + mnt + ':' + dtk;
                                string Query = "insert into logData_master(NIK,Enroll,deviceIP) value(@sEnrollNumber,@tgl,@ip)";

                                using (MySqlConnection conn = new MySqlConnection(MyConnection2))
                                {
                                    using (MySqlCommand cmd = new MySqlCommand(Query, conn))
                                    {
                                        cmd.Parameters.AddWithValue("@sEnrollNumber", NIK);
                                        cmd.Parameters.AddWithValue("@tgl", tgl);
                                        cmd.Parameters.AddWithValue("@ip", device);
                                        //cmd.Parameters.AddWithValue("@theText", theText);
                                        conn.Open();
                                        cmd.ExecuteNonQuery();

                                    }
                                }

                            }
                            catch (Exception ex)
                            {
                                MessageBox.Show(ex.Message);
                            }


                        }
                    }
                }
                else
                {
                    Cursor = Cursors.Default;
                    axCZKEM1.GetLastError(ref idwErrorCode);

                    if (idwErrorCode != 0)
                    {
                        lvLogs.Items.Clear();
                        lvLogs.Items.Add(iGLCount.ToString());
                        lvLogs.Items[iIndex].SubItems.Add(iError);
                        //MessageBox.Show("Reading data from terminal failed,ErrorCode: " + idwErrorCode.ToString(), "Error");
                    }
                    else
                    {
                        lvLogs.Items.Clear();
                        lvLogs.Items.Add(iGLCount.ToString());
                        lvLogs.Items[iIndex].SubItems.Add(iNoData);
                        //MessageBox.Show("No data from terminal returns!", "Error");
                    }
                }


                axCZKEM1.EnableDevice(iMachineNumber, false);//disable the device
                if (axCZKEM1.ClearGLog(iMachineNumber))
                {
                    lvLogs.Items.Clear();
                    axCZKEM1.RefreshData(iMachineNumber);//the data in the device should be refreshed
                    //MessageBox.Show("All att Logs have been cleared from teiminal!", "Success");
                    lvLogs.Items.Add(iGLCount.ToString());
                    lvLogs.Items[iIndex].SubItems.Add(iNoData);
                    
                }
                else
                {
                    lvLogs.Items.Clear();
                    axCZKEM1.GetLastError(ref idwErrorCode);
                    lvLogs.Items.Add(iGLCount.ToString());
                    lvLogs.Items[iIndex].SubItems.Add(iError);
                    //MessageBox.Show("Operation failed,ErrorCode=" + idwErrorCode.ToString(), "Error");
                }
                lvLogs.Items.Clear();
                axCZKEM1.EnableDevice(iMachineNumber, true);//enable the device
                Cursor = Cursors.Default;
            }));
        }
private void RunThis(对象源,ElapsedEventArgs e)
{
//Console.WriteLine(“每10秒打印一次”);
this.Invoke(新的MethodInvoker(委托)()
{
int-idwErrorCode=0;
字符串ip=txtIP.Text;
字符串sdwEnrollNumber=“”;
int idwVerifyMode=0;
int idwInOutMode=0;
int-idwYear=0;
int idwMonth=0;
int idwDay=0;
int-idwHour=0;
int idwMinute=0;
int-idwSecond=0;
int idwWorkcode=0;
int-iGLCount=0;
国际指数=0;
string iNoData=“无数据”;
字符串iError=“ERROR”;
string iDel=“数据删除”;
Cursor=Cursors.WaitCursor;
//lvLogs.Items.Clear();
axCZKEM1.EnableDevice(iMachineNumber,false);//禁用设备
if(axCZKEM1.readgeneralloldata(iMachineNumber))//将所有考勤记录读取到内存中
{
而(axCZKEM1.SSR_GetGeneralLogicData)(iMachineNumber、out sdwEnrollNumber、out idwVerifyMode、,
out idwInOutMode、out idwYear、out idwMonth、out idwDay、out idwHour、out idwMinute、out idwssecond、ref idwWorkcode))//从内存中获取记录
{
如果(iIndex>=0)
{
lvLogs.Items.Clear();
iGLCount++;
lvLogs.Items.Add(iGLCount.ToString());
lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber);//Darcy于2009年11月26日修改
lvLogs.Items[iIndex].SubItems.Add(ip.ToString());
lvLogs.Items[iIndex].SubItems.Add(idwVerifyMode.ToString());
lvLogs.Items[iIndex].SubItems.Add(idwInOutMode.ToString());
lvLogs.Items[iIndex].SubItems.Add(idwYear.ToString()+“-”+idwMonth.ToString()+“-”+idwDay.ToString()+”+“+idwHour.ToString()+”:“+idwMinute.ToString()+”:“+idwssecond.ToString());
lvLogs.Items[iIndex].SubItems.Add(idwWorkcode.ToString());
iIndex++;
尝试
{
//这是我分配给数据库文件地址路径的连接字符串
string MyConnection2=“datasource=192.168.10.3;Port=3306;Database=Log\u absen;Uid=manager;Pwd=@Gl0b4l1nd0”;
//这是我的更新查询,在该查询中,我通过windows窗体从用户处获取输入并更新记录。
//string Query=“插入(dvc0005 set NIK=”“+sEnrollNumber+”,注册=“+iYear+”—“+iMonth+”—“+iDay+”,其中NIK=”“+sEnrollNumber+”;)”;
字符串NIK=sdwEnrollNumber;
字符串设备=txtIP.Text.ToString();
字符串thn=idwYear.ToString();
字符串bln=(idwMonth<10?'0'+idwMonth.ToString():idwMonth.ToString());
字符串hr=(idwDay<10?'0'+idwDay.ToString():idwDay.ToString());
字符串jm=(idwHour<10?'0'+idwHour.ToString():idwHour.ToString());
字符串mnt=(idwMinute<10?'0'+idwMinute.ToString():idwMinute.ToString());
字符串dtk=(IDWSSecond<10?'0'+IDWSSecond.ToString():IDWSSecond.ToString());
字符串tgl=thn+'-'+bln+'-'+hr+'+jm+':'+mnt+':'+dtk;
string Query=“插入到logData_主(NIK、Enroll、deviceIP)值(@sEnrollNumber、@tgl、@ip)”;
使用(MySqlConnection conn=newmysqlconnection(MyConnection2))
{
使用(MySqlCommand cmd=newmysqlcommand(Query,conn))
{
cmd.Parameters.AddWithValue(“@sEnrollNumber”,NIK);
cmd.Parameters.AddWithValue(“@tgl”,tgl);
cmd.Parameters.AddWithValue(“@ip”,设备);
//cmd.Parameters.AddWithValue(“@theText”,theText);
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message);
}
}
}
}
其他的
{
游标=游标。默认值;
axCZKEM1.GetLastError(参考idwErrorCode);
如果(idwErrorCode!=0)
{
L
lvLogs.Items.Clear();
iGLCount++;
lvLogs.Items.Add(iGLCount.ToString());
lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber);