C# 无法转换。列表<;字符串>;串
我不知道我做错了什么。我使用下面的select语句从sql server中选择了日期数据。然后我想把它添加到一个列表中。我已经使用System.Type检查了数据类型,它告诉我返回的值是System.String。因此,我认为这应该能够将其添加到类型字符串列表中,但我一直得到错误: 无法将类型C# 无法转换。列表<;字符串>;串,c#,string,list,C#,String,List,我不知道我做错了什么。我使用下面的select语句从sql server中选择了日期数据。然后我想把它添加到一个列表中。我已经使用System.Type检查了数据类型,它告诉我返回的值是System.String。因此,我认为这应该能够将其添加到类型字符串列表中,但我一直得到错误: 无法将类型System.Collections.Generic.List隐式转换为string public String getListFromColumnAsDATE(String columnName, Str
System.Collections.Generic.List
隐式转换为string
public String getListFromColumnAsDATE(String columnName, String database)
{
myCommand = new SqlCommand("SELECT [Date] = convert(char(10), getdate(), 103) FROM Weekly_Tannery_Data", myConnection);
List<String> graphList = new List<String>();
myConnection.Open();
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
graphList.Add(myReader.GetString(0));
}
myConnection.Close();
return graphList;
}
公共字符串getListFromColumnAsDATE(字符串columnName,字符串数据库)
{
myCommand=newSQLCommand(“从每周制革数据中选择[Date]=convert(char(10),getdate(),103)”,myConnection);
列表图表列表=新列表();
myConnection.Open();
myReader=myCommand.ExecuteReader();
while(myReader.Read())
{
Add(myReader.GetString(0));
}
myConnection.Close();
返回笔迹;
}
此错误背后的原因来自这样一个事实:当您的方法声明说它应该返回字符串时,您有一个类型为List
的返回值
编译器正在通知您,它无法将延迟类型为String
的List
类型的对象转换为String
。这是正常的,因为它无法独自做到这一点。根据您的上下文,您需要在如下方法声明中切换返回值类型,或者将列表转换为canon建议的字符串
public List<String> getListFromColumnAsDATE(String columnName, String database)
{
myCommand = new SqlCommand("SELECT [Date] = convert(char(10), getdate(), 103) FROM Weekly_Tannery_Data", myConnection);
List<String> graphList = new List<String>();
myConnection.Open();
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
graphList.Add(myReader.GetString(0));
}
myConnection.Close();
return graphList;
}
public List getListFromColumnAsDATE(字符串columnName,字符串数据库)
{
myCommand=newSQLCommand(“从每周制革数据中选择[Date]=convert(char(10),getdate(),103)”,myConnection);
列表图表列表=新列表();
myConnection.Open();
myReader=myCommand.ExecuteReader();
while(myReader.Read())
{
Add(myReader.GetString(0));
}
myConnection.Close();
返回笔迹;
}
小旁注:
我谦恭地建议为您的SqlCommand
和阅读器添加一个using语句(myReader=myCommand.ExecuteReader();
)由于它们实现了IDisposable
,因此此错误背后的原因是,当方法声明说它应该返回字符串时,您有一个类型为List
的返回值
编译器正在通知您,它无法将延迟类型为String
的List
类型的对象转换为String
。这是正常的,因为它无法独自做到这一点。根据您的上下文,您需要在如下方法声明中切换返回值类型,或者将列表转换为canon建议的字符串
public List<String> getListFromColumnAsDATE(String columnName, String database)
{
myCommand = new SqlCommand("SELECT [Date] = convert(char(10), getdate(), 103) FROM Weekly_Tannery_Data", myConnection);
List<String> graphList = new List<String>();
myConnection.Open();
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
graphList.Add(myReader.GetString(0));
}
myConnection.Close();
return graphList;
}
public List getListFromColumnAsDATE(字符串columnName,字符串数据库)
{
myCommand=newSQLCommand(“从每周制革数据中选择[Date]=convert(char(10),getdate(),103)”,myConnection);
列表图表列表=新列表();
myConnection.Open();
myReader=myCommand.ExecuteReader();
while(myReader.Read())
{
Add(myReader.GetString(0));
}
myConnection.Close();
返回笔迹;
}
小旁注:
我谦恭地建议为您的SqlCommand
和阅读器(myReader=myCommand.ExecuteReader();
)添加一个using语句,因为它们实现了IDisposable
可能bc您的返回类型是字符串,您正在返回一个列表
?如果您需要字符串,您应该将db的结果添加到stringbuilder
中,然后执行tostring
可能bc您的返回类型是String,您正在返回一个列表
?如果您需要字符串,您应该将db的结果添加到stringbuilder
中,然后执行tostring
啊,这很明显。我真蠢。非常感谢你的提醒。啊,这很明显。我真蠢。非常感谢你的提醒。