Как вставить JSON из API в базу данных снежинки с помощью ADO.NET? - PullRequest
0 голосов
/ 07 ноября 2019

Я хочу вставить строку json в столбец варианта Snowflake в ado.net C #, но я совершенно не представляю, как это реализовать, так как в интернете так мало инструкций. Например,

var json = {
  "student": {
  "name": "John Smith",
  "age": 10
  }
}

dataAdapter.InsertCommand.CommandText = "INSERT INTO TestDemo SELECT PARSE_JSON(NOTIFICATION) FROM VALUES();";

Здесь я использую соединитель snowfalke для .NET на github. https://github.com/snowflakedb/snowflake-connector-net

Я хочу знать синтаксис, как писать в тексте команды. Большое вам спасибо.

1 Ответ

0 голосов
/ 07 ноября 2019

Снежинка на .Net - это не мое, но кипячение одного примера из github может сработать.
Приведенный ниже запрос, по крайней мере, разрешит вставку, надеюсь, также будет работать привязка строкового параметра:

using (IDbConnection conn = new SnowflakeDbConnection())
{
    conn.ConnectionString = connectionString;
    conn.Open();

    IDbCommand cmd = conn.CreateCommand();
    cmd.CommandText = "insert into TestDemo select parse_json(?)";

    var p1 = cmd.CreateParameter();
    p1.ParameterName = "1";
    p1.Value = "{""student"": ""John Smith""}";
    p1.DbType = DbType.String;
    cmd.Parameters.Add(p1);

    var count = cmd.ExecuteNonQuery();
    Assert.AreEqual(1, count);             

    conn.Close();
}
...