0
我有一個名爲settingsTBL的表,只有一行數據(用作可存儲設置)。在這張表中它們是公司名稱,地址等的列。在itextsharp中使用數據庫值
我使用iTextSharp從窗體上的文本框生成發票。到目前爲止,我已將所有相關的文本框文本添加到PDF文檔中,並希望在頁面底部顯示公司詳細信息,但我無法從表格中將它們轉換爲PDF文檔中的文本。
我已經創建了字符串來嘗試使用它們來生成文本。這裏是我的代碼:
{
string constring = @"Data Source=|DataDirectory|\LWADataBase.sdf";
string Query = "select * from settingsTBL where Reference = 1; ";
SqlCeConnection conDataBase = new SqlCeConnection(constring);
SqlCeCommand cmdDataBase = new SqlCeCommand(Query, conDataBase);
SqlCeDataReader myReader;
try {
conDataBase.Open();
myReader = cmdDataBase.ExecuteReader();
while (myReader.Read()) {
string sCompany = myReader.GetString(myReader.GetOrdinal("Company Name"));
string sAddress1 = myReader.GetString(myReader.GetOrdinal("Address Line 1"));
string sAddress2 = myReader.GetString(myReader.GetOrdinal("Address Line 2"));
string sPost = myReader.GetString(myReader.GetOrdinal("Post Code"));
string sTelephone = myReader.GetString(myReader.GetOrdinal("Telephone Number"));
string sEmail = myReader.GetString(myReader.GetOrdinal("Email Address"));
string sRegistration = myReader.GetString(myReader.GetOrdinal("Registration Number"));
}
//displays a system error message if a problem is found
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
Paragraph lwa = new Paragraph("WOULD LIKE TO INSERT COMPANY DETAILS INTO HERE");
lwa.Alignment = Element.ALIGN_BOTTOM;
invoice.Add(lwa);
我編輯了你的問題來格式化代碼,同時這樣做,我讀過你的代碼。但是,我認爲有些數據丟失了:您是如何填寫表格的?你在使用'AcroFields'嗎?公司的詳細信息是什麼?據我所知,你已經有了'Commpany','sAddress1','sAddress2'等等,這與*「我無法從表格中獲取它」相矛盾。另外:如果您可以添加其他信息,爲什麼要添加公司信息不同?當你嘗試添加它時發生了什麼? –
另外,你正在''while'循環中聲明你的變量。循環結束時,這些變量超出範圍,不再可用。 –
「填寫表格」的含義是什麼?公司詳細信息在字符串定義中詳細說明。所有其他信息來自插入到表單中的文本框文本,當用戶單擊「生成」時,它會將其插入到iTextSharp PDF中的段落中。公司信息在settingsTBL(列名:公司名稱,電話號碼等)中。 – Tom