Values Not Being Stored to Database
cmd = new SqlCommand("ImportExcel", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@UserCategory", SqlDbType.NVarChar, 100).Value = imp.UserCategory;
cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 200).Value = imp.CompanyName;
cmd.Parameters.Add("@PrimaryContact", SqlDbType.NVarChar, 200).Value = imp.PrimaryContact;
cmd.Parameters.Add("@Title", SqlDbType.NVarChar, 50).Value = imp.Title;
cmd.Parameters.Add("@FirstName", SqlDbType.NVarChar, 100).Value = imp.FirstName;
cmd.Parameters.Add("@LastName", SqlDbType.NVarChar, 100).Value = imp.LastName;
cmd.Parameters.Add("@LeadIndustryType", SqlDbType.NVarChar, 100).Value = imp.IndustruType;
cmd.Parameters.Add("@SupplierService", SqlDbType.NVarChar).Value = imp.ServiceCategory;
cmd.Parameters.Add("@Designation", SqlDbType.NVarChar, 100).Value = imp.Designation;
// cmd.Parameters.Add("@AnnualRevenue", SqlDbType.NVarChar, 50).Value = ContactsObj.AnnualRevenue;
cmd.Parameters.Add("@PhoneCountryCode", SqlDbType.NVarChar, 50).Value = imp.PhoneCountryCode;
cmd.Parameters.Add("@PhoneNumber", SqlDbType.NVarChar, 50).Value = imp.PhoneNumber;
cmd.Parameters.Add("@MobileCountryCode", SqlDbType.NVarChar, 50).Value = imp.MobileCountryCode;
cmd.Parameters.Add("@MobileNumber", SqlDbType.NVarChar, 50).Value = imp.MobileNumber;
cmd.Parameters.Add("@Email", SqlDbType.NVarChar, 200).Value = imp.Email;
if (!String.IsNullOrEmpty(imp.EmailOption))
{
cmd.Parameters.Add("@EmailOption", SqlDbType.Bit).Value = imp.EmailOption;
}
else
{
cmd.Parameters.Add("@EmailOption", SqlDbType.Bit).Value = DBNull.Value;
}
if (!String.IsNullOrEmpty(imp.OfferAlertReceive))
{
cmd.Parameters.Add("@OfferAlertReceive", SqlDbType.Bit).Value = imp.OfferAlertReceive;
}
else
{
cmd.Parameters.Add("@OfferAlertReceive", SqlDbType.Bit).Value = DBNull.Value;
}
//cmd.Parameters.Add("@SecondaryEmail", SqlDbType.NVarChar, 200).Value = imp.SecondaryEmail;
cmd.Parameters.Add("@SkypeID", SqlDbType.NVarChar, 200).Value =imp.SkypeID;
cmd.Parameters.Add("@Fax", SqlDbType.NVarChar, 50).Value = imp.Fax;
cmd.Parameters.Add("@Website", SqlDbType.NVarChar, 200).Value = imp.Website;
cmd.Parameters.Add("@PresentAddressLine1", SqlDbType.NVarChar, 200).Value =imp.PresentAddressLine1;
cmd.Parameters.Add("@PresentAddressLine2", SqlDbType.NVarChar, 200).Value =imp.PresentAddressLine2;
cmd.Parameters.Add("@PresentCity", SqlDbType.NVarChar, 200).Value =imp.PresentCity;
cmd.Parameters.Add("@PresentState", SqlDbType.NVarChar, 100).Value = imp.PresentState;
cmd.Parameters.Add("@PresentCountry", SqlDbType.NVarChar, 100).Value = imp.PresentCountry;
cmd.Parameters.Add("@PresentZipCode", SqlDbType.NVarChar, 50).Value = imp.PresentZipCode;
cmd.Parameters.Add("@PermanentAddressLine1", SqlDbType.NVarChar, 200).Value = imp.PermanentAddressLine1;
cmd.Parameters.Add("@PermanentAddressLine2", SqlDbType.NVarChar, 200).Value = imp.PermanentAddressLine2;
cmd.Parameters.Add("@PermanentCity", SqlDbType.NVarChar, 200).Value = imp.PermanentCity;
cmd.Parameters.Add("@PermanentState", SqlDbType.NVarChar, 100).Value = imp.PermanentState;
if (!String.IsNullOrEmpty(imp.PermanentCountry))
{
cmd.Parameters.Add("@PermanentCountry", SqlDbType.NVarChar, 100).Value = imp.PermanentCountry;
}
else
{
cmd.Parameters.Add("@PermanentCountry", SqlDbType.NVarChar, 100).Value = DBNull.Value;
}
cmd.Parameters.Add("@PermanentZipCode", SqlDbType.NVarChar, 50).Value = imp.PermanentZipCode;
if (!String.IsNullOrEmpty(imp.GroupName))
{
cmd.Parameters.Add("@OfferAlertType", SqlDbType.NVarChar, 100).Value = imp.OfferAlertType;
}
else
{
cmd.Parameters.Add("@OfferAlertType", SqlDbType.NVarChar, 100).Value = DBNull.Value;
}
if (!String.IsNullOrEmpty(imp.GroupName))
{
cmd.Parameters.Add("@GroupName", SqlDbType.NVarChar, 100).Value = imp.GroupName;
}
else
{
cmd.Parameters.Add("@GroupName", SqlDbType.NVarChar, 100).Value = DBNull.Value;
}
cmd.Parameters.Add("@LeadSource",SqlDbType.NVarChar,100).Value=imp.LeadSource;
cmd.Parameters.Add("@Description", SqlDbType.NVarChar, 300).Value = imp.Description;
cmd.Parameters.Add("@CreatedBy", SqlDbType.NVarChar, 100).Value = imp.CreatedBy;
cmd.Parameters.Add("@ip", SqlDbType.NVarChar, 50).Value = imp.ip;
con.Open();
SqlDataReader dr1 = cmd.ExecuteReader();
//dr1 = cmd.ExecuteReader();
string st = string.Empty;
while (dr1.Read())
{
st = dr1[0].ToString();
}
st = dr1[0].ToString();
return st;
回答
刪除此行: -
st = dr1[0].ToString();
你需要調用Read()
方法實際上從DataReader
對象讀取日期。
此外,它會更好,如果你將using
塊內包裝你的代碼: -
using (SqlDataReader dr1 = cmd.ExecuteReader())
{
while (dr1.Read())
{
st = dr1[0].ToString(); //With Index
st = dr1["ColumnName"].ToString(); //With Column Name
}
}
更新: 基於您的評論,這是一個插入SP,你試圖閱讀返回值,所以你不能使用SqlDataReader
,如果你想返回SP是否成功插入數據,你可以返回狀態碼1
爲successfull insertion
& 0
失敗或什麼的。然後,您可以閱讀這回這樣的代碼: -
SqlParameter returnParameter = cmd.Parameters.Add("StatusCd", SqlDbType.Int);
returnParameter.Direction = ParameterDirection.ReturnValue;
cmd.ExecuteNonQuery();
int statusCode = (int)returnParameter.Value;
但是,如果你想要一個像你提到Successfully Inserted
返回文本,你需要添加爲Output parameter
因爲SQL只能返回整數值,你就可以檢索該輸出值: -
SqlParameter output = new SqlParameter("@code", SqlDbType.Int);
output.Direction = ParameterDirection.Output;
cmd.Parameters.Add(output);
cmd.ExecuteNonQuery();
st = output.Value.ToString();
這裏,@code會在你的SP,你會爲設置輸出中的參數:SET @code = 'Insert successfull'
。
Bro not清楚。你能解釋一下嗎? – user2392626 2014-12-04 12:09:19
@ user2392626 - 我懷疑的是,在'While'循環之後你再次調用'st = dr1 [0] .ToString();'所以這一定是異常的原因。但是,剛剛閱讀你的評論,你剛剛添加了來回測試的目的,是這樣嗎? – 2014-12-04 12:15:26
我也刪除了,但它不是寫着 – user2392626 2014-12-04 12:20:54
- 1. asp.net.vb當沒有數據存在時無效嘗試讀取
- 2. 數據讀取器和無效的嘗試時不存在數據讀取
- 3. SQL數據讀取器:無效的嘗試時不存在數據讀取
- 4. 無數據時嘗試讀取
- 5. C#沒有從數據庫返回的數據 - 「當數據不存在時嘗試讀取無效」
- 6. InvalidOperationException:無數據存在時無效嘗試讀取。 (SQL)
- 7. 在Reader中沒有數據時嘗試讀取無效顯示空
- 8. 當數據不存在時嘗試讀取無效錯誤
- 9. 無效嘗試時不存在數據讀取
- 10. 數據讀取返回(讀者關閉時無效嘗試讀取)
- 11. 「無效的嘗試時,不存在數據讀取」開始對查詢結果foreach循環時
- 12. 循環讀取excel數據
- 13. SqlDataReader拋出「當無數據存在時無效嘗試讀取」但OleDbReader不會
- 14. Winform的無效嘗試當沒有數據存在
- 15. 當dr中沒有數據時無效讀取
- 16. 「無效的嘗試時,不存在數據讀取」使用SqlDataReader的
- 17. 無效嘗試當沒有數據存在
- 18. 當沒有數據存在與無效嘗試閱讀從選擇Where Where
- 19. MVC3 ASP.NET C#System.InvalidOperationException:當數據不存在時無效嘗試讀取。
- 20. 無效學嘗試調用元數據時,讀取器已關閉
- 21. 錯誤 - 「無數據存在時無效嘗試讀取」。雖然使用SQLDataReader即使數據存在
- 22. istream_iterator嘗試解析無效數據
- 23. 從SQL閱讀器到數據表的數據 - 無效嘗試打電話在閱讀器關閉時閱讀
- 24. vb.net多維數組 - 無效的嘗試時不存在數據
- 25. 獲取「讀取器關閉時讀取無效的嘗試」
- 26. am developin投票系統,但它顯示錯誤爲無效嘗試讀取時,沒有數據存在
- 27. JAVA從數據庫中獲取數據沒有循環
- 28. 無效試圖調用元數據時,讀取器已關閉
- 29. 獲取異常:讀取器關閉時嘗試讀取無效
- 30. 嘗試從跨域PHP腳本獲取JSONP數據時沒有數據
什麼是問題? – Vladimirs 2014-12-04 11:58:51
如果數據不存在,你不能執行'st = dr1 [0] .ToString();'while while while – CodingDefined 2014-12-04 12:04:16
sqldatareader的行總是返回false – user2392626 2014-12-04 12:04:39