C # HttpWebRequest для datetimepicker

Я работаю над приложением C #, которое будет использовать удаленную базу данных MySQL, расположенную на моем веб-сайте, размещенную на сервере Linux с PHP & Поддержка MySQL.

Я попытался получить выбранный из и на сегодняшний день в datagridview, используя datetimepicker.

введите описание изображения здесь

моя форма содержит 2 datetimepicker (dateTimePicker1 и dateTimePicker2), когда я нажимаю кнопку. необходимо выполнить поиск по дате и дате в таблице базы данных и показать ее в виде таблицы данных.

я подключаю свой datagridview в таблице базы данных. но моя проблема в том, что когда я выбираю какую-то дату и нажимаю на кнопку, представление данных становится пустым.

Заполните datagridview, используя PHP-кодирование:

ФАЙЛ PHP: (data.php)

<?php
$servername = "***.**.***.***";
$username = "root";
$password = "pasword";
$dbname = "databas";
$mysqli = new mysqli($servername, $username, $password, $dbname);
if ($mysqli->connect_error)
{
die("Connection failed: " . $mysqli->connect_error);
}
$result = $mysqli->query("SELECT calldate,time_interval,campaign,agent FROM aster");
while($row = mysqli_fetch_array($result))
{
$rows[] = $row;
}
$result->close();
$mysqli->close();
print(json_encode($rows, JSON_NUMERIC_CHECK));
?>

c # кодирование для заполненной таблицы данных:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Windows.Forms;

namespace HTTPDGV
{
public partial class Form2 : Form
{
class User
{
[JsonProperty("calldate")]
public string calldate { get; set; }

[JsonProperty("time_interval")]
public string time_interval { get; set; }

[JsonProperty("campaign")]
public string campaign { get; set; }

[JsonProperty("agent")]
public string agent { get; set; }
}
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
var request = (HttpWebRequest)WebRequest.Create("http://***.**.***.***/data.php");
request.Method = WebRequestMethods.Http.Get;
request.Accept = "application/json";
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader streamreader = new StreamReader(stream);
String json = streamreader.ReadToEnd();
List<User> users = JsonConvert.DeserializeObject<List<User>>(json);
dataGridView1.DataSource = users;
}
}
}
}

это работает хорошо.

но вот моя моя проблема

ФАЙЛ PHP: (time.php)

<?php

$date1 = $_POST['calldate'];
$date2 = $_POST['calldate'];

$servername = "***.**.***.***";
$username = "root";
$password = "password";
$dbname = "database";
$mysqli = new mysqli($servername, $username, $password, $dbname);
if ($mysqli->connect_error)
{
die("Connection failed: " . $mysqli->connect_error);
}
$result = $mysqli->query("SELECT calldate,time_interval,campaign,agent FROM aster_agent_performance WHERE calldate BETWEEN'$date1'AND'$date2'");

while($row = mysqli_fetch_array($result))
{
$rows[] = $row;
}
$result->close();
$mysqli->close();
print(json_encode($rows, JSON_NUMERIC_CHECK));
?>

c # кодирование для datetimepicker:

private void btnSearch_Click(object sender, EventArgs e)
{
var date1 = dateTimePicker1.Value.Date.ToString("yyyy-MM-dd");
var date2 = dateTimePicker2.Value.Date.ToString("yyyy-MM-dd");

HttpWebRequest myRequest =(HttpWebRequest)WebRequest.Create("http://***.**.***.***/time.php");
myRequest.Method = "GET";
using (WebResponse response = myRequest.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
XmlTextReader reader = new XmlTextReader(stream);
var buffer = Encoding.UTF8.GetBytes("calldate=" + date1 + "AND" + date2 + "");
stream.Read(buffer, 0, buffer.Length);
StreamReader streamreader = new StreamReader(stream);
String json = streamreader.ReadToEnd();
string date = JsonConvert.SerializeObject(json);
dataGridView1.DataSource = date;
}
}
}

когда я нажимаю кнопку поиска, представление данных становится пустым. пожалуйста, проверьте мою кодировку, где я делаю ошибку. Пожалуйста, предложите любые онлайн-ссылки или учебники.

Мой вопрос здесь: http://www.voidasks.com/c_httpwebrequest_for_datetimepicker#answers

Кто-нибудь имеет представление об этом кодировании или кто-нибудь может сказать мне, если я делаю неправильно.

Спасибо

2

Решение

Попробуй это :

private void btnSearch_Click(object sender, EventArgs e)
{
var date1 = dateTimePicker1.Value.Date.ToString("yyyy-MM-dd");
var date2 = dateTimePicker2.Value.Date.ToString("yyyy-MM-dd");

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://***.**.***.***/time.php");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
byte[] byteArray = Encoding.UTF8.GetBytes("fromdate= " + date1 + " & todate=" + date2);
request.ContentLength = byteArray.Length;
Stream stream = request.GetRequestStream();
stream.Write(byteArray, 0, byteArray.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
String json = reader.ReadToEnd();
List<Users> user = JsonConvert.DeserializeObject<List<Users>>(json);
dataGridView1.DataSource = user;
2

Другие решения

Других решений пока нет …