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 サービスをテストし、すべてのパラメーターに数値を渡すと、新しい行がテーブルに正常に追加されます。しかし、「a」などの少なくとも 1 つの文字列をサービスに渡すと、次の結果が得られます。
<string xmlns="http://tempuri.org/">Invalid column name 'a'.</string>
行は追加されません。なぜ彼は「a」を列名と考えたのだろうか?誰でも助けることができますか?