Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 在LocalDataspace中不显示插入磁贴第二次插入do_C#_.net - Fatal编程技术网

C# 在LocalDataspace中不显示插入磁贴第二次插入do

C# 在LocalDataspace中不显示插入磁贴第二次插入do,c#,.net,C#,.net,我想向LocalDataspace插入一些数据,插入成功但未显示在我的datagridview磁贴中第二次插入用于删除日志我调用“选择全部插入结束”并看到最后一次插入未显示在其中,但当我插入下一次数据时,最后一次数据将显示每个人都能帮助我吗 public void connect() { String conString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\hana\\documents\\

我想向LocalDataspace插入一些数据,插入成功但未显示在我的datagridview磁贴中第二次插入用于删除日志我调用“选择全部插入结束”并看到最后一次插入未显示在其中,但当我插入下一次数据时,最后一次数据将显示每个人都能帮助我吗

public void connect()
{
    String conString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\hana\\documents\\visual studio 2017\\Projects\\Bank\\Bank\\Database.mdf;Integrated Security=True";

    SqlConnection sql = new SqlConnection(conString);
    String sqll = "Insert into TblBank (txtTodayDate" +
        ",txtSahebanHesab" +
        ",txtShobe" +
        ",txtShomareMoshtari" +
        ",txtShoareHesab" +
        ",cmbNoeHesab" +
        ",txtSarresid" +

        ")";
    try
    {
        sql.Open();

        SqlDataAdapter sda = new SqlDataAdapter(sqll, sql);
        SqlCommand sc = new SqlCommand(sqll,sql);

        sc.Parameters.AddWithValue("todayDate", new PersianDateTime(dtpTodayDate.the_date).ToString("yyyy/MM/dd"));
        sc.Parameters.AddWithValue("sahebanHesab", txtSahebHesabName.Text);
        sc.Parameters.AddWithValue("shobe", txtshobe.Text);
        sc.Parameters.AddWithValue("shomareMoshtari", txtShomareMoshtari.Text);
        sc.Parameters.AddWithValue("shoareHesab", txtShomareHesab.Text);
        sc.Parameters.AddWithValue("noeHesab", cmbNoeHesab.SelectedIndex);
        sc.Parameters.AddWithValue("sarresid", txtSarResidMah.Text);

        sc.ExecuteNonQuery();        
        sql.Close();
        select();
    }
    catch (Exception ex)
    {

    }
}
选择是

private void select()
{
    String conString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\hana\\documents\\visual studio 2017\\Projects\\Bank\\Bank\\Database.mdf;Integrated Security=True";
    SqlConnection cn = new SqlConnection(conString);
    String sqlString = "SELECT * FROM TblBank Order BY Id desc ";
    SqlConnection sql = new SqlConnection(conString);
    SqlCommand cmd = new SqlCommand(sqlString, cn);
    try {
        sql.Open();
    SqlDataAdapter sa = new SqlDataAdapter(sqlString, sql);
    using (SqlDataReader read = sa.SelectCommand.ExecuteReader())
    {
        if (read.Read())
        {
            DataTable dt = new DataTable();
            dt.Load(read);
            this.tblBankDataGridViewX.DataSource = dt;
        }

    }
        sql.Close();
    }
    catch (Exception ex)
    {

    }
}
该方法将在DataTable.Load之前迭代结果集。由于DataReader是一个仅向前的流,因此在执行DataTable.Load时,它的结果集为空,并且在为DataGridView设置DataSource时,DataTable内容仍然为空。请尝试使用属性检查结果集的可用性:

using (SqlConnection cn = new SqlConnection(conString))
{
     using (SqlCommand cmd = new SqlCommand(sqlString, cn))
     {
        try 
        {
            cn.Open();
            using (SqlDataReader read = cmd.ExecuteReader())
            {
                // check if the reader returns result set
                if (read.HasRows)
                {
                    DataTable dt = new DataTable();
                    dt.Load(read);
                    this.tblBankDataGridViewX.DataSource = dt;
                }

            }
        }
        catch (Exception ex)
        {
            // do something
        }
     }
}
该方法将在DataTable.Load之前迭代结果集。由于DataReader是一个仅向前的流,因此在执行DataTable.Load时,它的结果集为空,并且在为DataGridView设置DataSource时,DataTable内容仍然为空。请尝试使用属性检查结果集的可用性:

using (SqlConnection cn = new SqlConnection(conString))
{
     using (SqlCommand cmd = new SqlCommand(sqlString, cn))
     {
        try 
        {
            cn.Open();
            using (SqlDataReader read = cmd.ExecuteReader())
            {
                // check if the reader returns result set
                if (read.HasRows)
                {
                    DataTable dt = new DataTable();
                    dt.Load(read);
                    this.tblBankDataGridViewX.DataSource = dt;
                }

            }
        }
        catch (Exception ex)
        {
            // do something
        }
     }
}

if read.read=>这应该是if read.HasRows。读者只有前向流,避免使用Read,如果您有从数据读取器插入数据到数据的负载。考虑使用SqLDATAdAdvor而不是SqLDATAERADERIF Read.ReadRe=这应该是Read.HasRead。读者只有前向流,避免使用Read,如果您有从数据读取器插入到数据的负载。请考虑使用Sql DATAdAdter代替SqlDataReader。