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