2017-01-12 3 views
1
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Newtonsoft.Json.Linq; 
using System.Data.SqlClient; 
using System.Data; 
using HttpWebRequestResponse; 

namespace JSONARECHESTRA 
{ 
    class Class1 
    { 
     static void Main() 
     { } 

     public SqlConnection con =newSqlConnection(@"server=SERVE;database=DATABASE;uid=XX;password=XXXX;MultipleActiveResultSets=True"); 
     public SqlCommand cmd; 
     public SqlDataReader dr1; 

     public void CONNECTION() 
     { 
      if (con.State == ConnectionState.Closed) 
       con.Open(); 
     } 

     public void executeNonQuery(string query) 
     { 
      CONNECTION(); 
      cmd = new SqlCommand(query, con); 
      cmd.ExecuteNonQuery(); 
     } 
    } 

    public class user 
    { 
     public void Page_Load(object sender, EventArgs e) 
     { 
      var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http:URL"); 
      httpWebRequest.ContentType = "application/json"; 
      httpWebRequest.Method = "POST"; 

      using (var streamWriter = new System.IO.StreamWriter(httpWebRequest.GetRequestStream())) 
      { 
       string json = "{\"Username\":\"DEV\"}"; 

       streamWriter.Write(json); 
       streamWriter.Flush(); 
       streamWriter.Close(); 
      } 

      var httpResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse(); 

      using (var streamReader = new System.IO.StreamReader(httpResponse.GetResponseStream())) 
      { 
       var result = streamReader.ReadToEnd(); 
       JObject jObject = JObject.Parse(result); 
       response = jObject["Rdata"][0].ToArray(); 
       JArray array = (JArray)jObject["Rdata"]; 

       for (int i = 0; i <= 3; i++) 
       { 
        int Alert_Type = Convert.ToInt32((string)array[i]["Alert_Type"]); 
        DateTime datetime = Convert.ToDateTime((string)array[i]["Date_time"]); 
        string Location = Convert.ToString((string)array[i]["Location"]); 
        string Vehicle = Convert.ToString((string)array[i]["Vehicle"]); 
        Console.WriteLine(Vehicle); 
        Console.ReadKey(); 

        Class1 cs = new Class1(); 
        cs.CONNECTION(); 

        string insert = "INSERT INTO [DATABASE].[dbo].[TEST6] (datet) VALUES ('" + datetime + "');"; 
        cs.executeNonQuery(insert); 
        // return Page_Load; 
       } 
      } 
     } 

     public string json { get; set; } 

     public JToken[] response { get; set; } 
    } 
} 

В этом коде я создаю SqlConnection в базу данных и веб-службы Http для извлечения данных в формате JSON, но не выгрузить данные в SQL Server, а также мой консольное окно не остается открытым для отладки программной строки по строкеЯ не могу читать и отправлять данные в SQL Server с помощью консольного приложения

+0

для отладки вы установили точку останова? –

+0

Да, я установил точки останова, но закрытие окна консоли сразу же без отображения моего вывода? –

ответ

1

Ваш метод Main() пуст. Это console app, и вы должны использовать Main() не Page_Load() событие. Разместите весь код от Page_Load() внутри Main() и удалите Page_Load().

Также вы должны сделать все свои поля, свойства и метод static, потому что вы не создаете экземпляр.

ИЛИ

Изменить эту строку:

public void Page_Load(object sender, EventArgs e) 

этим:

public void Start() // or any other name 

и Main() должны быть:

static void Main() 
{ 
    Class1 obj = new Class1(); 

    obj.Start(); 
} 

EDIT:

Вы код должен быть:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Newtonsoft.Json.Linq; 
using System.Data.SqlClient; 
using System.Data; 
using HttpWebRequestResponse; 

namespace JSONARECHESTRA 
{ 
    class Class1 
    { 
     public SqlConnection con = new SqlConnection(@"server=SERVE;database=DATABASE;uid=XX;password=XXXX;MultipleActiveResultSets=True"); 
     public SqlCommand cmd; 
     public SqlDataReader dr1; 

     public string json { get; set; } 
     public JToken[] response { get; set; } 


     static void Main() 
     { 
      Class1 obj = new Class1(); 
      obj.DoSomething(); 
     } 

     public void CONNECTION() 
     { 
      if (con.State == ConnectionState.Closed) 
       con.Open(); 
     } 

     public void executeNonQuery(string query) 
     { 
      CONNECTION(); 
      cmd = new SqlCommand(query, con); 
      cmd.ExecuteNonQuery(); 
     } 

     public void DoSomething() 
     { 
      var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http:URL"); 
      httpWebRequest.ContentType = "application/json"; 
      httpWebRequest.Method = "POST"; 

      using (var streamWriter = new System.IO.StreamWriter(httpWebRequest.GetRequestStream())) 
      { 
       string json = "{\"Username\":\"DEV\"}"; 

       streamWriter.Write(json); 
       streamWriter.Flush(); 
       streamWriter.Close(); 
      } 

      var httpResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse(); 

      using (var streamReader = new System.IO.StreamReader(httpResponse.GetResponseStream())) 
      { 
       var result = streamReader.ReadToEnd(); 
       JObject jObject = JObject.Parse(result); 
       response = jObject["Rdata"][0].ToArray(); 
       JArray array = (JArray)jObject["Rdata"]; 

       for (int i = 0; i <= 3; i++) 
       { 
        int Alert_Type = Convert.ToInt32((string)array[i]["Alert_Type"]); 
        DateTime datetime = Convert.ToDateTime((string)array[i]["Date_time"]); 
        string Location = Convert.ToString((string)array[i]["Location"]); 
        string Vehicle = Convert.ToString((string)array[i]["Vehicle"]); 
        Console.WriteLine(Vehicle); 
        Console.ReadKey(); 

        this.CONNECTION(); 

        string insert = "INSERT INTO [DATABASE].[dbo].[TEST6] (datet) VALUES ('" + datetime + "');"; 
        this.executeNonQuery(insert); 

       } 
      } 
     } 
    } 
} 
+0

извините, я не могу его получить, я изменил страницу_Load (отправитель объекта, EventArgs e) в public void Start(), но проблема остается той же, что и в sql –

+0

@ R-T, вы изменили метод 'Main'? –

+0

Да, и это ошибка получения программы «c: \ Users \ Administrator \ AppData \ Local \ Temporary Projects \ JSONARECHESTRA \ obj \ Debug \ JSONARECHESTRA.exe» не содержит статический «Основной» метод, подходящий для точки входа –

0
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Newtonsoft.Json.Linq; 
using System.Data.SqlClient; 
using System.Data; 
using HttpWebRequestResponse; 

namespace JSONARECHESTRA 
{ 
class Class1{ 


    static void Main() 
    { 
     Class1 obj = new Class1(); 

     obj.Start(); 
    } 

    private void Start() 
    { 
     Console.WriteLine("It is Start() method"); 
    } 




     public SqlConnection con = new SqlConnection(@"server=TNGSRV;database=astha;uid=sa;[email protected];MultipleActiveResultSets=True"); 
     public SqlCommand cmd; 
     public SqlDataReader dr1 ; 
     public void CONNECTION() 
     { 
      if (con.State == ConnectionState.Closed) 
       con.Open(); 
     } 

     public void executeNonQuery(string query) 
     { 
      CONNECTION(); 
      cmd = new SqlCommand(query, con); 
      cmd.ExecuteNonQuery(); 
     } 
    } 
     public class user 

     { 
      private static JToken[] response; 
      static void start() 

    { 
     var httpWebRequest = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("http://182.18.161.47:99/vts.svc/geo"); 
     httpWebRequest.ContentType = "application/json"; 
     httpWebRequest.Method = "POST"; 

     using (var streamWriter = new System.IO.StreamWriter(httpWebRequest.GetRequestStream())) 
     { 
      string json = "{\"Username\":\"wave\"}"; 

      streamWriter.Write(json); 
      streamWriter.Flush(); 
      streamWriter.Close(); 
     } 

     var httpResponse = (System.Net.HttpWebResponse)httpWebRequest.GetResponse(); 
     using (var streamReader = new System.IO.StreamReader(httpResponse.GetResponseStream())) 
     { 
      var result = streamReader.ReadToEnd(); 
      JObject jObject = JObject.Parse(result); 
      response = jObject["Rdata"][0].ToArray(); 
      JArray array = (JArray)jObject["Rdata"]; 
      for (int i = 0; i <= 3; i++) 
      { 
       int Alert_Type = Convert.ToInt32((string)array[i]["Alert_Type"]); 
       DateTime datetime = Convert.ToDateTime((string)array[i]["Date_time"]); 
       string Location = Convert.ToString((string)array[i]["Location"]); 
       string Vehicle = Convert.ToString((string)array[i]["Vehicle"]); 
       Console.WriteLine(Vehicle); 
       Console.ReadKey(); 
       Class1 cs = new Class1(); 
       cs.CONNECTION(); 
       string insert = "INSERT INTO [astha].[dbo].[TEST6] (datet) VALUES ('" + datetime + "');"; 
       cs.executeNonQuery(insert); 
       //return Page_Load; 
      } 
     } 
    } 


    public string json { get; set; } 





    } 
} 

я сделал это, но получить такую ​​же проблему до сих пор данные не собираются в SQL, а также окно консоли немедленно закрытия

+0

Вы не вызываете метод с вашим кодом. Измените свой 'Main': ' static void Main() {user.start(); } ' –

+0

@Roma может нанести весь код с этими изменениями –

+0

@Roma Спасибо, тонна это работало, я ценю ур помочь –

 Смежные вопросы

  • Нет связанных вопросов^_^