繁体   English   中英

当数据来自while循环函数并显示在列表视图中时,如何在SQL Server表中存储数据?

[英]How to store data in a SQL Server table when the data comes from a while loop function and shown in a list view?

我有这样一个循环:

 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
{
    iGLCount++;

    lvLogs.Items.Add(iGLCount.ToString());
    lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber);//modify by Darcy on Nov.26 2009
    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++;
}

这将以七列的列表视图格式显示输出。

我想将while循环返回的数据存储在SQL Server表中。 我该怎么办?

我在循环功能之外和内部尝试了以下编码

SqlDataAdapter _sqldataadapter = new SqlDataAdapter("insert into Record (sdwEnrollNumber,idwInOutMode,idwVerifyMode)values" +
                //    "('" + lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber) + "','" + lvLogs.Items[iIndex].SubItems.Add(idwInOutMode.ToString()) + "','" + lvLogs.Items[iIndex].SubItems.Add(idwVerifyMode.ToString()) + "')", con);

                //MessageBox.Show("Inserted successfully");
                //con.Close();

但我没有在表中获取数据。

请帮我解决这个问题

我无法自己检查函数,因为我没有表定义,但是从我的角度来看:

您使用iIndex作为索引号遍历一个表。 然后将1加到iIndexiIndex++

因此,当然不能再通过索引访问数据了。 因此,请将_sqldataadapter放在iIndex++之前。

应该看起来像这样:

{
  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
        {
            iGLCount++;
            lvLogs.Items.Add(iGLCount.ToString());
            lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber);//modify by Darcy on Nov.26 2009
            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());

SqlDataAdapter _sqldataadapter = new SqlDataAdapter("insert into Record (sdwEnrollNumber,idwInOutMode,idwVerifyMode)values" +
                //    "('" + lvLogs.Items[iIndex].SubItems.Add(sdwEnrollNumber) + "','" + lvLogs.Items[iIndex].SubItems.Add(idwInOutMode.ToString()) + "','" + lvLogs.Items[iIndex].SubItems.Add(idwVerifyMode.ToString()) + "')", con);

                //MessageBox.Show("Inserted sucessfully");
                //con.Close();


            iIndex++;
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM