簡體   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