0
私はC#からSQLにデータを挿入しています。 私はjsonの出力を文字列オブジェクトで取得しました。 JSONはjsonをSQL Server 2012に挿入するにはどうすればよいですか?
{'data': '{"Code": "MXXXXX", "Status": "failed"}'}
どのように私はSPを介してSQLにJSONデータを追加できるようなものですか?
私はC#からSQLにデータを挿入しています。 私はjsonの出力を文字列オブジェクトで取得しました。 JSONはjsonをSQL Server 2012に挿入するにはどうすればよいですか?
{'data': '{"Code": "MXXXXX", "Status": "failed"}'}
どのように私はSPを介してSQLにJSONデータを追加できるようなものですか?
JSONデータの下
を追加するための1つのストアドプロシージャを作成すると、表Iは、エンティティへのLINQを使用していた
[tbl_activitylog](
[fk_user_id] [bigint],
[log_type] [nvarchar](50) ,
[data] [nvarchar](max) , // json data will be inserted here
Create procedure [dbo].[spp_add_log]
(
@fk_user_id bigint,
@log_type nvarchar(50),
@data nvarchar(MAX)
)
as
begin
insert into tbl_activitylog (fk_user_id,log_type,data) values (@fk_user_id,@log_type,@data)
end
C#のコードが格納されているアクセスする手順のスキーマであるSQL Serverがない
List<cls_response_code_data> resp_data_list = db.ExecuteStoreQuery<cls_response_code_data>(
"spp_add_log @fk_user_id,@log_type,@data",
new SqlParameter("@fk_user_id", fk_user_id),
new SqlParameter("@log_type", log_type),
new SqlParameter("@data", data)
).ToList();
jsonデータ型を持つあなたはvarchar、nvarcharなどの任意の文字列型にjson値を格納することができます ' –
私がvarcharとして使用する場合、それを挿入することはできません。 –
2つのフィールドに値を格納しますか?はいの場合は、jsonを逆シリアル化してDBに保存します。いいえ、あなたは値をエスケープするためにSQLのパラメータを使用することができます(また、SQLインジェクションを防止する) – Prisoner