Я работаю над приложением C#, которое будет использовать удаленную базу данных MySQL, расположенную на моем веб-сайте, размещенном на сервере Linux, с поддержкой PHP &.C# HttpWebRequest для datetimepicker
Я попытался получить выбранный и датированный в datagridview с помощью datetimepicker.
введите описание изображения здесь
моя форма содержит 2 DateTimePicker (DateTimePicker1 и dateTimePicker2), когда я нажимаю на кнопку. ему необходимо выполнить поиск с даты и по дате в таблице базы данных и показать его в datagridview.
i connect my datagridview в таблице базы данных. но моя проблема в том, что, когда я выбираю дату и нажимаю кнопку, datagridview становится пустым.
заполнить DataGridView с помощью PHP кодирования:
PHP FILE: (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# кодирование для занесения в DataGridView:
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 FILE: (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;
}
}
}
, когда я нажимаю кнопку поиска datagridview пуст. пожалуйста, проверьте мое кодирование, где я делаю ошибку. Пожалуйста, предложите любые онлайн-ссылки или руководства.
Мой вопрос здесь: http://www.voidasks.com/c_httpwebrequest_for_datetimepicker#answers
Кто-нибудь есть какие-либо идеи об этом кодирования или кто-нибудь может сказать мне, если я делаю неправильно.
Спасибо
'$ date1' и' $ date2' же '$ _POST' ввода? Вы уверены, что это правильно? – Matt