这是我的代码,用于生成自动生成的作业代码并将其填入文本框
public void newjobecodenoget(){
String jobcodeno = null;
OleDbConnection oleDbConnection1 = new System.Data.OleDb.OleDbConnection(connString);
oleDbConnection1.Open();
String query = "SELECT TOP 1 jobpk FROM jobcodemastertable ORDER BY jobpk DESC";
OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);
DataSet ds = new DataSet();
dAdapter.Fill(ds, "tbljobrdataview");
Int32 S = int.Parse(ds.Tables[0].Rows[0][0].ToString());
S++;
jobcodeno = "NFT" + S.ToString();
MessageBox.Show( jobcodeno);
txtjobcode.Text = "NFT" + S.ToString();
}
但是我在最后一行得到例外,即txtjobcode.Text =“NFT”+ S.ToString(); 你调用的对象是空的。 所有其他的东西都很好,生成了jobcode并显示在消息框中 任何人都可以帮助
我的txtjobecode被声明为
private void InitializeComponent()
{
this.txtjobcode = new System.Windows.Forms.TextBox();
//
// txtjobcode
//
this.txtjobcode.Location = new System.Drawing.Point(98, 23);
this.txtjobcode.Name = "txtjobcode";
this.txtjobcode.Size = new System.Drawing.Size(91, 20);
this.txtjobcode.TabIndex = 0;
//
}
答案 0 :(得分:3)
由于明确S
已声明并且其值为txtjobcode
为null
,因此您会得到此(相当不言自明)的异常。您没有显示您声明或使用txtjobcode
的位置,但这是您的问题。
答案 1 :(得分:2)
显然,txtjobcode
为空。由于我没有看到txtjobcode
被声明和分配到哪里,我无法告诉你为什么它是null。