2017-02-08 13 views
0

私はC#からSQLにデータを挿入しています。 私はjsonの出力を文字列オブジェクトで取得しました。 JSONはjsonをSQL Server 2012に挿入するにはどうすればよいですか?

{'data': '{"Code": "MXXXXX", "Status": "failed"}'} 

どのように私はSPを介してSQLにJSONデータを追加できるようなものですか?

+2

jsonデータ型を持つあなたはvarchar、nvarcharなどの任意の文字列型にjson値を格納することができます ' –

+0

私がvarcharとして使用する場合、それを挿入することはできません。 –

+0

2つのフィールドに値を格納しますか?はいの場合は、jsonを逆シリアル化してDBに保存します。いいえ、あなたは値をエスケープするためにSQLのパラメータを使用することができます(また、SQLインジェクションを防止する) – Prisoner

答えて

0

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(); 
関連する問題