C#通过WebServer对数据库进行修改

来源:互联网 发布:iphone垃圾清理软件 编辑:程序博客网 时间:2024/06/05 19:25

一个简单的demo,通过如下框架在客户端将数据插入数据库Server上的数据库中。
demo框架
1. 客户端是用C#写的,运行在一台笔记本上。
2. WebServer是用Apache和PHP搭建的,运行在一台台式机上,并且用花生壳申请了一个免费域名,绑定了该主机的IP地址,让客户端可以在互联网上向WebServer发送请求。
3. 数据库Server用的是MySQL,运行在另外一台台式机上;WebServer和数据库Server在一个局域网内。MySQL中有一个用来测试的DataBase,里面包含一个表Student,其字段如下:

+-------+-----------+-------+-------+-----------+-------+| Field | Type      | Null  | Key   | Default   | Extra |+-------+-----------+-------+-------+-----------+-------+| num   | char(10)  | NO    | PRI   | NULL      |       || name  | char(20)  | NO    |       | NULL      |       || sex   | char(5)   | NO    |       | NULL      |       || age   | char(5)   | NO    |       | NULL      |       |+-------+-----------+-------+------+------------+-------+

C#使用WebRequest类和WebResponse类向WebServer发送请求和返回结果。

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Net;   //WebRequest类和WebResponse类的命名空间using System.IO;    //Stream类的命名空间namespace FormsApp1{    public partial class Form5 : Form    {        public Form5()        {            InitializeComponent();        }        private static String RequesURL = "http://hhueccz.imwork.net:30242/";   //WebServer 的域名        private void button1_Click(object sender, EventArgs e)        {            /*             * 目前的想法是每一个方法写一个php文件,所以URL的前面部分可以写成一个静态的全局变量;             * insert.php为这个demo的例子插入学生信息方法对应的php文件;             '?'后面跟传入的参数名和参数值,参数之间用'&'连接;             * 这里完整的请求URL是:             * "http://hhueccz.imwork.net:30242/insert.php?num=10001&name=张三&sex=男&age=20"             */            RequesURL += "insert.php?";             RequesURL += "num=" + num.Text.Trim();  //界面上有一个名为num的TextBox            RequesURL+= "&name=" + name.Text.Trim();//界面上有一个名为name的TextBox            RequesURL += "&sex=" + sex.Text.Trim(); //界面上有一个名为sex的TextBox            RequesURL += "&age=" + age.Text.Trim(); //界面上有一个名为age的TextBox            /*             * 我们这里用WebRequest类提供的一些方法向WebServer请求数据;             * 使用Create方法实例化WebRequest对象,并传入RequestURL;             * Credentials是网络上的身份验证,这里使用的是默认的验证方式;             * 请求方式为"GET"             */            WebRequest request = WebRequest.Create(RequesURL);             request.Credentials = CredentialCache.DefaultCredentials;            request.Method = "GET";            /*             * 使用WebResponse类的一些方法获取WebServer返回的数据;             * 其实是返回RequestURL的php页面上的数据;             * 使用request.GetResponse()的时候,request对象才向WebServer发送请求,并接收回复             */            WebResponse response = request.GetResponse();            Stream stream = response.GetResponseStream();            StreamReader reader = new StreamReader(stream);            String message = reader.ReadToEnd();            MessageBox.Show(message);            reader.Close();            stream.Close();            response.Close();        }    }}

PHP获取C#发送的请求和向MySQL插入数据的代码如下:

<?php    include("conn.php");    $num  = $_GET['num'];    $name = $_GET['name'];    $sex  = $_GET['sex'];    $age  = $_GET['age'];    $sqlText = "insert into student values('$num', '$name', '$sex', '$age')";    mysql_query($sqlText);    //echo("success");?>
0 0
原创粉丝点击