を追加するとき、私はこのように私のテーブルを作成したSQL ServerのSQL Serverの無効な列名の文字列値
に新たなんだ:
CREATE TABLE Accidents (
Id INT NOT NULL PRIMARY KEY IDENTITY,
GUID VARCHAR(100),
Latitude VARCHAR(100),
Longitude VARCHAR(100),
PhotoName VARCHAR(100)
)
と私はデータを挿入するためのWebサービスを作成しましたそのテーブルには次のように表示されます:
SqlConnection con = new SqlConnection(@"workstation id=DatabaseSample.mssql.somee.com;packet size=4096;user id=???;pwd=???;data source=DatabaseSample.mssql.somee.com;persist security info=False;initial catalog=DatabaseSample");
public string addAccidentToDatabase(string GUID, string imageBase64String, string latitude, string longitude, string photoName)
{
SqlCommand cmd = new SqlCommand("INSERT INTO Accidents (GUID,Latitude,Longitude,PhotoName) VALUES ("
+ GUID + "," + latitude + "," + longitude + "," + photoName + ")", con);
try
{
con.Open();
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
return e.Message;
}
finally
{
con.Close();
}
return "succeeded";
}
すべてのものは、無料のホスティングサーバーにホストされています。
私はVS2010からWebサービスをテストし、すべてのパラメータに数値を渡すと、新しい行がテーブルに正常に追加されます。しかし、私は、例えばサービスに少なくとも1つの文字列、「A」を渡すとき、私はこの結果を得る:
<string xmlns="http://tempuri.org/">Invalid column name 'a'.</string>
と行が追加されません。なぜ彼は "a"を列名とみなしたのだろうか?誰でも助けることができますか?
なぜ賛成投票ですか?私はちょうど尋ねている: –
+1は、愚かなdownvoteを打ち消す。みんな、これは人々が質問できる場所だと思った?ダウンフォート警察は、通常、月曜日の朝まで出てこない。 –
[間違ったデータタイプを選択すると習慣が悪い](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/12/bad-habits-to-kick-using-the-wrong-data- type.aspx) - あなたは常に最も適切なデータ型を使用する必要があります。したがって、 'GUID'列は' UNIQUEIDENTIFIER'型でなければならず、 'Longitude'や' Latitude'などの数値は 'DECIMAL(16,4)'なのでしょうか?** not ** 'varchar(100) '! –