Double or decimal for latitude/longitude values in C#

What is the best data type to use when storing geopositional data in C#? I would use decimal for it's exactness, but operations on decimal floating point numbers are slower then binary floating point numbers (double). I read that most of the time you won't need any more then 6 or 7 digits of precision for latitude or longitude. Does the inexactness of doubles even matter then or can i

C#中经度/纬度值的双精度或小数点

在C#中存储地理数据时使用什么最好的数据类型? 我会用十进制表示它的正确性,但对十进制浮点数的操作比二进制浮点数(双精度)要慢。 我读到大部分时间你不需要6或7位数字的经度或纬度精度。 双打的不精确性究竟有多重要还是可以忽略? 去加倍,有几个原因。 三角函数仅适用于双精度 双倍的精度远远超出了Lat / Lon值所需的任何值 GeoCoordinate Class和第三方模块(例如DotSpatial)也使用double来表示坐标 一

EF5, SQL Server, Longitude and Latitude

I found that the best type to store lat and long in SQL Server is decimal (9,6) (ref. What datatype to use when storing latitude and longitude data in SQL databases?) and so I did AddColumn("dbo.Table", "Latitude", c => c.Decimal(nullable: false, precision: 9, scale: 6)); AddColumn("dbo.Table", "Longitude", c => c.Decimal(nullable: false, precision: 9, scale: 6)); SQL seems ok, everything

EF5,SQL Server,经度和纬度

我发现在SQL Server中存储lat和long的最佳类型是decimal(9,6)(参考在SQL数据库中存储纬度和经度数据时使用哪种数据类型?),所以我做了 AddColumn("dbo.Table", "Latitude", c => c.Decimal(nullable: false, precision: 9, scale: 6)); AddColumn("dbo.Table", "Longitude", c => c.Decimal(nullable: false, precision: 9, scale: 6)); SQL似乎没问题,一切正常,但当我插入/更新一个值,即 lat = 44.5912853 它

GetAsync for fbcdn returns 403 forbidden?

NOTE: I've changed this question quite a bit in an attempt to make it point more to the problem. The comments below no longer reflect this question. I'm trying to get this image from fbcdn: https://scontent.xx.fbcdn.net/v/t1.0-1/c15.0.50.50/p50x50/10354686_10150004552801856_220367501106153455_n.jpg?oh=6c801f82cd5a32fd6e5a4258ce00a314&oe=589AAD2F Browser gets it just fine. Here

GetAsync for fbcdn返回403禁止?

注意:我已经改变了这个问题,试图让它更多地指出问题。 下面的评论不再反映这个问题。 我试图从fbcdn获取这个图像: https://scontent.xx.fbcdn.net/v/t1.0-1/c15.0.50.50/p50x50/10354686_10150004552801856_220367501106153455_n.jpg?oh=6c801f82cd5a32fd6e5a4258ce00a314&oe=589AAD2F 浏览器得到它很好。 这是我的代码: public class ReverseProxyController : NancyModule { public ReverseProxyControlle

How to pass table value parameters to stored procedure from .net code

I have an MS SQL Server 2005 database. In a few procedures I have table parameters that I pass to a stored proc as an nvarchar (separated by commas) and internally divide into single values. I add it to the SQL command parameters list like this: cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; I have to migrate the database to SQL Server 2008. I know that the

如何从.net代码传递表值参数到存储过程

我有一个MS SQL Server 2005数据库。 在一些过程中,我将表参数传递给一个存储过程作为nvarchar(用逗号分隔)并在内部划分为单个值。 我将它添加到SQL命令参数列表中,如下所示: cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo"; 我必须将数据库迁移到SQL Server 2008.我知道有表值参数,并且我知道如何在存储过程中使用它们。 但我不知道如何将其传递给SQL命令中的参数列表。 有没

How do I validate an SQL query before executing it using C#

I have a textbox where the user enters his SQL query. However,I need to make a program that validates the query before executing it in the database. For Example: Suppose the user enters SELECT A1, A2, A3 FROM XYZ So now, before executing the query, I need to check whether A1 , A2 and A3 exists in the table XYZ or not. If not, the user should be shown an error message. I

如何在使用C#执行之前验证SQL查询

我有一个用户输入他的SQL查询的文本框。 但是,我需要在数据库中执行之前创建一个验证查询的程序。 例如: 假设用户输入 SELECT A1, A2, A3 FROM XYZ 所以现在,在执行查询之前,我需要检查A1 , A2和A3是否存在于表XYZ 。 如果不是,则应该显示用户错误消息。 我无法想办法继续。 那么任何人都可以给出一个关于如何进一步进行的示例代码片段的基本想法? 我怀疑你是否应该这样做: 如果XYZ不是

Using Dataset for Microsoft reporting

When we use SSRS to create reports, we can use query box in Dataset window to create custom queries. But in local reports (.RDLC) when we want to create reports we should set a designed Dataset for report. The problem is when we have 100 reports we should also have 100 Datasets.Currently we use a Dataset with these fields (F1,F2,F3,...,F100) and before binding our datatable to reports we chang

使用数据集进行Microsoft报告

当我们使用SSRS创建报告时,我们可以使用数据集窗口中的查询框来创建自定义查询。 但在本地报告(.RDLC)中,当我们想要创建报告时,我们应该设计一个设计的数据集来报告。 问题是当我们有100个报告时,我们也应该有100个数据集。目前我们使用带有这些字段(F1,F2,F3,...,F100)的数据集,并且在将数据表绑定到报告之前,我们更改了数据表列的名称。 但它的可读性很低。 我想问问有没有更好的方法来解决这个问题?

Returning only the column names from a SELECT statement

This is just a lazy thought. I have a table with about 9 columns names. Is there any way I can use SQL statement to return only the Column names? The normal way is to write out my column names from SELECT * FROM tableName; statement but was wondering if I can get the column names with SQL statement. Any Ideas would be appreciated. Thanks You! SELECT COLUMN_NAME,* FROM INFORMATION_SCHE

仅从SELECT语句返回列名称

这只是一个懒惰的想法。 我有一个约9列名称的表。 有什么办法可以使用SQL语句来只返回列名? 正常的方法是写出我的列名 SELECT * FROM tableName; 声明,但想知道是否可以用SQL语句获得列名。 任何想法,将不胜感激。 谢谢! SELECT COLUMN_NAME,* FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'tableName' AND TABLE_SCHEMA='dbo' 应该这样做尝试按照SQL语句获取列名称。 SELECT column_name FROM informa

How to get column names of table at runtime in C#?

Lets say I have a table in SQLServer named MyTable ID FirstName LastName 1 Harry Dan 2 Maria Vicente 3 Joe Martin Now if I have to insert any data in table, I will simply fire Insert Query like this INSERT INTO MyTable (ID, FirstName, LastName) VALUES (4, Smith, Dan); But what if I don't know the column names beforehand, I only know table name. Then is there a wa

如何在运行时在C#中获取表的列名?

比方说,我在SQLServer中有一个名为MyTable的表 ID FirstName LastName 1 Harry Dan 2 Maria Vicente 3 Joe Martin 现在,如果我必须在表格中插入任何数据,我将简单地使用这样的插入查询 INSERT INTO MyTable (ID, FirstName, LastName) VALUES (4, Smith, Dan); 但是如果我事先不知道列名,我只知道表名。 那么有没有办法在运行时获得表的列名? 你可以使用sql- SELECT name FROM sys.columns W

select column names of current table

This question already has an answer here: How can I get column names from a table in SQL Server? 16 answers using(var reader = command.ExecuteReader()) { reader.Read(); var table = reader.GetSchemaTable(); foreach (DataColumn column in table.Columns) { Console.WriteLine(column.ColumnName); } }

选择当前表的列名

这个问题在这里已经有了答案: 我如何从SQL Server中的表中获取列名? 16个答案 using(var reader = command.ExecuteReader()) { reader.Read(); var table = reader.GetSchemaTable(); foreach (DataColumn column in table.Columns) { Console.WriteLine(column.ColumnName); } }

Injection C# SQL

This question already has an answer here: How does the SQL injection from the “Bobby Tables” XKCD comic work? 12 answers Just to show how a Sql Injection is really easy and, apart from destruction of data, could lead to other nasty effects textbox1.Text = "' OR User_na LIKE '%'; --"; the resulting comm.CommandText is comm.commandtext = @"Select * from Logins where User_na='' OR User_na LI

注入C#SQL

这个问题在这里已经有了答案: 来自“Bobby Tables”XKCD漫画的SQL注入是如何工作的? 12个答案 只是为了展示Sql注入如何非常简单,并且除了数据的破坏外,还可能导致其他恶意效应 textbox1.Text = "' OR User_na LIKE '%'; --"; 得到的comm.CommandText是 comm.commandtext = @"Select * from Logins where User_na='' OR User_na LIKE '%'--pass_wrd= 'xxx'"; SqlDataReader r = cmd.ExecuteReader(); if(r.HasRows) {