[英]how do I get a cell of data from a specific row in c# with a local sql database file
[英]How do I pull data from an SQL database into local double var using c#?
我正在尝试通过 ODBC 连接将数据提取到两个本地双变量中,但我不断收到语法错误,我不确定我错过了什么。
我正在使用它在地图上绘制坐标。
编码:
using (ODBC.connect = new OdbcConnection(ODBC.connectionString))
{
double Latitude = 0.0;
double Longitude = 0.0;
OdbcCommand command = new OdbcCommand("SELECT Latitude, Longitude INTO ?, ? FROM TrackVehicles WHERE Registration = ?", ODBC.connect);
command.Parameters.AddWithValue("?1", Latitude);
command.Parameters.AddWithValue("?2", Longitude);
command.Parameters.AddWithValue("?3", textBox1.Text);
try
{
ODBC.connect.Open();
command.ExecuteNonQuery();
gMap.Position = new GMap.NET.PointLatLng(Latitude, Longitude);
}
catch (OdbcException exception)
{
MessageBox.Show(exception.Message);
}
}
我得到的 SQL 错误是:
错误 [42000] [Sybase][ODBC 驱动程序][SQL Anywhere]“?”附近的语法错误第 1 行
我已经考虑使用Parameters.Add()
代替,但没有运气,因为我是一个完整的菜鸟。
参考: https : //docs.microsoft.com/en-us/dotnet/api/system.data.odbc.odbcdatareader?view=netframework-4.8
看起来您正在尝试将数据库中的两个值返回到您的 C# 代码中。
using (ODBC.connect = new OdbcConnection(ODBC.connectionString))
{
double Latitude = 0.0;
double Longitude = 0.0;
OdbcCommand command = new OdbcCommand("SELECT Latitude, Longitude FROM TrackVehicles WHERE Registration = ?", ODBC.connect);
command.Parameters.AddWithValue("?1", textBox1.Text);
try
{
ODBC.connect.Open();
OdbcDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Latitude = reader[0];
Longitude = reader[1];
}
reader.Close()
gMap.Position = new GMap.NET.PointLatLng(Latitude, Longitude);
}
catch (OdbcException exception)
{
MessageBox.Show(exception.Message);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.