Я попытался извлечь данные из базы данных, но мне не удалось получить данные в l oop, X и Y возвращают "" значение даже после того, как dr получает правильное значение (я планирую построить график значений x и y в карте):
private void Map_it_Click( object sender, EventArgs e)
{
string Code = "";
string strReturn = "";
string X = "";
string Y = "";
var opt = "";
List<CompanyDeat> listerrg = new List<CompanyDeat>();
try
{
int name = 1;
string ConStr = "";
DataSet ds = new DataSet();
ConStr = "Server=127.0.0.1; Port=5433; User Id=xxxx; Password=xxxxx; Database=xxxxx";
using (NpgsqlConnection con = new NpgsqlConnection(ConStr))
{
using (NpgsqlCommand cmd = new NpgsqlCommand("complete", con))
{
cmd.CommandType = CommandType.StoredProcedure;
NpgsqlDataAdapter da = new NpgsqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
}
}
string errmsg = "";
if (errmsg != "")
{
Code = "0"; strReturn = errmsg;
}
else
{
if (ds.Tables.Count > 0)
{
if (ds.Tables[0].Rows.Count > 0)
{
Code = "1";
foreach (DataRow dr in ds.Tables[0].Rows)
{
listerrg.Add(new CompanyDeat
{
X = dr["X"].ToString(),
Y = dr["Y"].ToString(),
});
map.DragButton = MouseButtons.Left;
map.MapProvider = GMapProviders.GoogleMap;
double lat = Convert.ToDouble(X);
double lon = Convert.ToDouble(Y);
map.Position = new PointLatLng(lat, lon);
map.MinZoom = 5;
map.MaxZoom = 100;
map.Zoom = 10;
}
if (strReturn == "1")
{
Console.Write("Updated");
}
}
//TripDT = TripDT.ToShortDateString();
}
}
}
catch (Exception ex)
{
}
return;
}
Но данные достигают dr, но значение X и Y становится "" даже после назначения данных tp X и Y:
ItemArray = {object[2]}
18.0579309901531
55.1186577950593
внутренний класс:
internal class CompanyDeat
{
public string X { get; set; }
public string Y { get; set; }
}
postgresql код:
CREATE OR REPLACE FUNCTION complete()
RETURNS TABLE( X varchar,Y varchar) as
$BODY$
select "X","Y" from public.point ;
$BODY$
LANGUAGE sql;
Пожалуйста, помогите, мне нужно завершить его очень скоро