请指导我如何解决此问题。
if (Convert.ToInt32(rd["B_Quan"].ToString()) > 3)
{
MessageBox.Show("Oops sobra tama na ");
}
cn.Close();
答案 0 :(得分:0)
行/列要么不存在要么包含null。
在这种情况下,您会收到NullReferenceException
,因为null
没有功能.ToString()
你可以检查一下:
if (rd.Table.Columns.Contains("B_Quan") && rd["B_Quan"] != null)
{
if (Convert.ToInt32(rd["B_Quan"].ToString()) > 3)
{
MessageBox.Show("Oops sobra tama na ");
}
}
cn.Close();
这是做什么的?
using (DataTable dt = new DataTable())
{
dt.Load(rd);
Console.WriteLine(dt.Rows.Count);
}
if (Convert.ToInt32(rd["B_Quan"].ToString()) > 3)
{
MessageBox.Show("Oops sobra tama na ");
}
调试时,您可以打开dt
并查看表格吗?如果有一个名为" B_Quan"?
答案 1 :(得分:0)
我不知道您在问题中删除代码的原因。
为了这个问题,我从编辑历史中复制了你的代码。
我认为,您在代码中收到“无数据”的原因是因为您还没有使用SqlDataReader.Read()
。有关详细信息,请参阅SqlDataReader Class。
<强>示例:强>
while(rd.Read()) // You need to read first to get your data.
{
if (Convert.ToInt32(rd["B_Quan"].ToString()) > 3)
{
MessageBox.Show("Oops sobra tama na ");
}
}
您编码:
private void button3_Click(object sender, EventArgs e)
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
string student = "Select * From tbl_student";
OleDbCommand loadstudent = new OleDbCommand(student, cn);
loadstudent.Parameters.AddWithValue("@SId", textBox8.Text + "%");
rd = loadstudent.ExecuteReader();
if (rd.HasRows == true)
{
// ipapalabas ung labas
while (rd.Read())
{
messageBox.Show("Oops sobra tama na ");
}
}
else
{
MessageBox.Show("No record(s) found.");
}
cn.Close();
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
string s = "Select * From Borrow";
OleDbCommand sa = new OleDbCommand(s, cn);
loadstudent.Parameters.AddWithValue("@SId", textBox8.Text + "%");
rd = sa.ExecuteReader();
while(rd.Read()) // You need to read first to get your data.
{
if (Convert.ToInt32(rd["B_Quan"].ToString()) > 3)
{
MessageBox.Show("Oops sobra tama na ");
}
}
cn.Close();
if (cn.State == ConnectionState.Closed) cn.Open();
cmd = new OleDbCommand("Select * From Borrow", cn);
rd = cmd.ExecuteReader();// ipapalitaw
if (rd.HasRows == true)
{
// ipapalabas ung labas
while (rd.Read())
{
if (Convert.ToInt32(rd["B_Quan"].ToString()) > 3)
{
MessageBox.Show("Oops sobra tama na ");
return;
}
}
}
}