Isaac Johnson
asked on
Convert NCHAR to string using c# - WebAPI
I have a sql parameter which is NCHAR
I want to convert the variable to string as you will see in the code block.
It throwing a error when I reference the variable.
"Message": "An error has occurred.",
"ExceptionMessage": "Pic_Date",
"ExceptionType": "System.IndexOutOfRangeExc eption",
"StackTrace": " at System.Data.ProviderBase.F ieldNameLo okup.GetOr dinal(Stri ng fieldName)\r\n at System.Data.SqlClient.SqlD ataReader. GetOrdinal (String name)\r\n at System.Data.SqlClient.SqlD ataReader. get_Item(S tring name)\r\n at lob_totals.Models.LobTotal s.pic_of_d ay(List`1 PicDateCaption, String Date_In) in c:\\!web_insight\\API\\pro jects\\lob -totals-so l\\lob-tot als\\Model s\\LobTota ls.cs:line 318\r\n at lob_totals.Controllers.Lob TotalsCont roller.pic _of_day(St ring id) in c:\\!web_insight\\API\\pro jects\\lob -totals-so l\\lob-tot als\\Contr ollers\\Lo bTotalsCon troller.cs :line 205"
}
What am I doing incorrectly.
This task is a snippet from my WebAPI
Isaac
I want to convert the variable to string as you will see in the code block.
It throwing a error when I reference the variable.
"Message": "An error has occurred.",
"ExceptionMessage": "Pic_Date",
"ExceptionType": "System.IndexOutOfRangeExc
"StackTrace": " at System.Data.ProviderBase.F
}
What am I doing incorrectly.
This task is a snippet from my WebAPI
Isaac
string Pic_Date { get; set; }
string Pic_Caption { get; set; }
public List<LobTotals> pic_of_day (List<LobTotals> PicDateCaption, string Date_In)
{
using (var con = lob_totals.Models.Database.GetConnection())
{
// Find Pic Of Day
using (SqlCommand command = new SqlCommand("insight_sel_pic_day", con))
{
command.CommandType = System.Data.CommandType.StoredProcedure;
con.Open();
command.Parameters.Add(new SqlParameter("@INpic_date", System.Data.SqlDbType.NChar)).Value = Date_In;
using (SqlDataReader rdr = command.ExecuteReader())
// Locate Picture
if (rdr.HasRows)
while (rdr.Read())
{
LobTotals picData = new LobTotals();
picData.Pic_Date = rdr["Pic_Date"].ToString();
picData.Pic_Caption = rdr["Caption"].ToString();
PicDateCaption.Add(picData);
con.Close();
}
return PicDateCaption;
}
What SQL engine are we talking about here?
What is the Stored procedure parameter data type?
What is the type of the Date_In variable?
Are you sure the SP call returned correct results?
What is the Stored procedure parameter data type?
What is the type of the Date_In variable?
Are you sure the SP call returned correct results?
ASKER
sql 2016, the parameter type is NCHAR, I found the problem the SP does not return the parameter. It only returns
the caption in the stored procedure.
Thanks for the hints.
Isaac
the caption in the stored procedure.
Thanks for the hints.
Isaac
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Ok cool, don't you think we assisted you in the process?
I would probably think not the NChar issue.
try look at LobTotalsController.cs:lin
also make sure the sp: insight_sel_pic_day returned fields such as Pic_Date and Caption ?