当前位置: 首页 > news >正文

做软装设计能用到的网站有哪些陶瓷行业网站建设招标书

做软装设计能用到的网站有哪些,陶瓷行业网站建设招标书,什么是建设网站,广州万网建网站需求: 利用MySql数据库结合前端技术完成用户的注册(要求不使用Web服务技术),所以 Demo采用Socket技术实现Web通信. 第一部分:数据库创建 数据库采用mysql 5.7.18, 数据库名称为MyUser, 内部有一张表 user.字段有 Id,UserName,Psd,Tel 第二部分:数据库连接与Socket通信 创建控…         需求: 利用MySql数据库结合前端技术完成用户的注册(要求不使用Web服务技术),所以 Demo采用Socket技术实现Web通信. 第一部分:数据库创建 数据库采用mysql 5.7.18, 数据库名称为MyUser, 内部有一张表 user.字段有 Id,UserName,Psd,Tel 第二部分:数据库连接与Socket通信 创建控制台程序(服务端程序),添加以下类 1 MySqlHelper 建立MySqlHelper 类,用于实现数据库操作 public class MysqlHelper{//数据库连接字符串 public static string Conn DatabaseMyuser;Data Sourcelocalhost;User Idroot;Password;charsetutf8; //XXX的为修改项public static void SetConn(string UserName root, string Password, string IP localhost, string DatabaseMyuser){Conn datasource IP ;username UserName ;password Password ;database Database ;charsetutf8;}/// summary /// 给定连接的数据库用假设参数执行一个sql命令不返回数据集 /// /summary /// param nameconnectionString一个有效的连接字符串/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns执行命令所影响的行数/returns public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){MySqlCommand cmd new MySqlCommand();using (MySqlConnection conn new MySqlConnection(connectionString)){PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);int val cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val;}}/// summary /// 用现有的数据库连接执行一个sql命令不返回数据集 /// /summary /// param nameconnection一个现有的数据库连接/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns执行命令所影响的行数/returns public static int ExecuteNonQuery(MySqlConnection connection, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){MySqlCommand cmd new MySqlCommand();PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);int val cmd.ExecuteNonQuery();//cmd.Parameters.Clear();return val;}/// summary ///使用现有的SQL事务执行一个sql命令不返回数据集 /// /summary /// remarks ///举例: /// int result ExecuteNonQuery(connString, CommandType.StoredProcedure, PublishOrders, new MySqlParameter(prodid, 24)); /// /remarks /// param nametrans一个现有的事务/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns执行命令所影响的行数/returns public static int ExecuteNonQuery(MySqlTransaction trans, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){MySqlCommand cmd new MySqlCommand();PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);int val cmd.ExecuteNonQuery();cmd.Parameters.Clear();return val;}/// summary /// 用执行的数据库连接执行一个返回数据集的sql命令 /// /summary /// remarks /// 举例: /// MySqlDataReader r ExecuteReader(connString, CommandType.StoredProcedure, PublishOrders, new MySqlParameter(prodid, 24)); /// /remarks /// param nameconnectionString一个有效的连接字符串/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns包含结果的读取器/returns public static MySqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){//创建一个MySqlCommand对象 MySqlCommand cmd new MySqlCommand();//创建一个MySqlConnection对象 MySqlConnection conn new MySqlConnection(connectionString);//在这里我们用一个try/catch结构执行sql文本命令/存储过程因为如果这个方法产生一个异常我们要关闭连接因为没有读取器存在 //因此commandBehaviour.CloseConnection 就不会执行 try{//调用 PrepareCommand 方法对 MySqlCommand 对象设置参数 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);//调用 MySqlCommand 的 ExecuteReader 方法 MySqlDataReader reader cmd.ExecuteReader(CommandBehavior.CloseConnection);//清除参数 cmd.Parameters.Clear();return reader;}catch{//关闭连接抛出异常 conn.Close();throw;}}/// summary /// 返回DataSet /// /summary /// param nameconnectionString一个有效的连接字符串/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns/returns public static DataSet GetDataSet(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){//创建一个MySqlCommand对象 MySqlCommand cmd new MySqlCommand();//创建一个MySqlConnection对象 MySqlConnection conn new MySqlConnection(connectionString);//在这里我们用一个try/catch结构执行sql文本命令/存储过程因为如果这个方法产生一个异常我们要关闭连接因为没有读取器存在try{//调用 PrepareCommand 方法对 MySqlCommand 对象设置参数 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);//调用 MySqlCommand 的 ExecuteReader 方法 MySqlDataAdapter adapter new MySqlDataAdapter();adapter.SelectCommand cmd;DataSet ds new DataSet();adapter.Fill(ds);//清除参数 cmd.Parameters.Clear();conn.Close();return ds;}catch (Exception e){throw e;}}public static DataTable GetDataTable(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){//创建一个MySqlCommand对象 MySqlCommand cmd new MySqlCommand();//创建一个MySqlConnection对象 MySqlConnection conn new MySqlConnection(connectionString);//在这里我们用一个try/catch结构执行sql文本命令/存储过程因为如果这个方法产生一个异常我们要关闭连接因为没有读取器存在try{//调用 PrepareCommand 方法对 MySqlCommand 对象设置参数 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);//调用 MySqlCommand 的 ExecuteReader 方法 MySqlDataAdapter adapter new MySqlDataAdapter();adapter.SelectCommand cmd;DataTable ds new DataTable();adapter.Fill(ds);//清除参数 cmd.Parameters.Clear();conn.Close();return ds;}catch (Exception e){throw e;}}/// summary /// 用指定的数据库连接字符串执行一个命令并返回一个数据集的第一列 /// /summary /// remarks ///例如: /// Object obj ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new MySqlParameter(prodid, 24)); /// /remarks ///param nameconnectionString一个有效的连接字符串/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns用 Convert.To{Type}把类型转换为想要的 /returns public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){MySqlCommand cmd new MySqlCommand();using (MySqlConnection connection new MySqlConnection(connectionString)){PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);object val cmd.ExecuteScalar();cmd.Parameters.Clear();return val;}}/// summary /// 用指定的数据库连接执行一个命令并返回一个数据集的第一列 /// /summary /// remarks /// 例如: /// Object obj ExecuteScalar(connString, CommandType.StoredProcedure, PublishOrders, new MySqlParameter(prodid, 24)); /// /remarks /// param nameconnection一个存在的数据库连接/param /// param namecmdType命令类型(存储过程, 文本, 等等)/param /// param namecmdText存储过程名称或者sql命令语句/param /// param namecommandParameters执行命令所用参数的集合/param /// returns用 Convert.To{Type}把类型转换为想要的 /returns public static object ExecuteScalar(MySqlConnection connection, CommandType cmdType, string cmdText, params MySqlParameter[] commandParameters){MySqlCommand cmd new MySqlCommand();PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);object val cmd.ExecuteScalar();cmd.Parameters.Clear();return val;}/// summary /// 准备执行一个命令 /// /summary /// param namecmdsql命令/param /// param nameconnOleDb连接/param /// param nametransOleDb事务/param /// param namecmdType命令类型例如 存储过程或者文本/param /// param namecmdText命令文本,例如:Select * from Products/param /// param namecmdParms执行命令的参数/param private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, CommandType cmdType, string cmdText, MySqlParameter[] cmdParms){if (conn.State ! ConnectionState.Open)conn.Open();cmd.Connection conn;cmd.CommandText cmdText;if (trans ! null)cmd.Transaction trans;cmd.CommandType cmdType;if (cmdParms ! null){foreach (MySqlParameter parm in cmdParms)cmd.Parameters.Add(parm);}}}2,User类与UserHelper类 建立用户类User与用户操作类UserHelper User public class User{public int Id { get; set; }public string UserName { get; set; }public string Psd { get; set; }public string PhoneNum { get; set; }}UserHelper public class UserHelper{/// summary/// 获取用户列表/// /summary/// param namecmdText/param/// returns/returnspublic static ListUser GetUsers(){var cmdText select * from Users;var data MysqlHelper.GetDataSet(MysqlHelper.Conn, System.Data.CommandType.Text, cmdText, new MySql.Data.MySqlClient.MySqlParameter());ListUser userList new ListUser();foreach (DataRow row in data.Tables[0].Rows){User user new User();user.Id int.Parse(row[0].ToString());user.UserName(row[1].ToString());user.Psd(row[2].ToString());user.PhoneNum(row[3].ToString());userList.Add(user);}return userList;}/// summary/// 根据姓名查找用户/// /summary/// param namename/param/// returns/returnspublic static User GetUserByName(string name){var cmdText select * from Users Where UserName?name;var pars new MySql.Data.MySqlClient.MySqlParameter(?name, name);var data MysqlHelper.GetDataSet(MysqlHelper.Conn, System.Data.CommandType.Text, cmdText, pars);User user new User();if (data.Tables.Count 0){return null;}if (data.Tables[0].Rows.Count ! 1){return null;}foreach (DataRow row in data.Tables[0].Rows){ user.Id int.Parse(row[0].ToString());user.UserName (row[1].ToString());user.Psd (row[2].ToString());user.PhoneNum (row[3].ToString());;}return user;}/// summary/// 添加用户/// /summary/// param nameuser/param/// returns/returnspublic static bool AddUser(User user){var sqlInsert insert into Users(UserName,Psd,Tel) values ( user.UserName , user.Psd , user.PhoneNum ); var parms new MySqlParameter();var data MysqlHelper.ExecuteNonQuery(MysqlHelper.Conn, System.Data.CommandType.Text, sqlInsert, parms);return data0;}}3 Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换这个连接的一端称为一个socket.socket本质是编程接口(API)对TCP/IP的封装TCP/IP也要提供可供程序员做网络开发所用的接口这就是Socket编程接口 利用Socket技术,可以捕捉Http请求,获取数据.构建SocketHelper类,获取前端页面请求.默认Socket 端口为8086 public class SocketHelper{static Socket m_socket new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);/// summary/// Socket初始化 /// /summarypublic static bool Init(){try{m_socket.Bind(new IPEndPoint(IPAddress.Any, 8086));m_socket.Listen(100);m_socket.BeginAccept(new AsyncCallback(OnAccept), m_socket);Console.WriteLine(开启Socket服务成功!!);Console.Read();return true;}catch (Exception ){Console.WriteLine(开启Socket服务失败!!,请检查网络,端口8086是否被占用!!!);Console.Read();return false;}}public static void Route(string path, Dictionarystring, string param, Socket response){if (param.Count 1){try{var userName param[userName];var searUser UserHelper.GetUserByName(userName);if (searUser ! null){HomePage(response, 该用户名已经被占用!!);Console.WriteLine(** - **);Console.WriteLine(用户名 userName 被占用);Console.WriteLine();HomePage(response, no);}else{HomePage(response, ok);}}catch (Exception e){HomePage(response, e.Message);Console.WriteLine(** - **);Console.WriteLine(发生错误,错误原因为 e.Message);Console.WriteLine();}return;}else if (param.Count 3) {try{User user new User();user.UserName param[userName];user.Psd param[psd];user.PhoneNum param[phoneNum];var isSuccess UserHelper.AddUser(user);if (isSuccess){HomePage(response, ok);Console.WriteLine(** - **);Console.WriteLine(用户名为 user.UserName 已添加到数据库!!);Console.WriteLine();}else{HomePage(response, no);Console.WriteLine(** - **);Console.WriteLine(用户名为 user.UserName 添加到数据库失败!!);Console.WriteLine();}}catch (Exception e){HomePage(response, e.Message);Console.WriteLine(** - **);Console.WriteLine(发生错误,错误原因为 e.Message);Console.WriteLine();}}else{HomePage(response, 参数错误!!);Console.WriteLine(** - **);Console.WriteLine(参数错误 );Console.WriteLine();}return;}public static void OnAccept(IAsyncResult ar){try{Socket socket ar.AsyncState as Socket;Socket new_client socket.EndAccept(ar);socket.BeginAccept(new AsyncCallback(OnAccept), socket);byte[] recv_buffer new byte[1024 * 640];int real_recv new_client.Receive(recv_buffer);string recv_request Encoding.UTF8.GetString(recv_buffer, 0, real_recv);Console.WriteLine(recv_request);Resolve(recv_request, new_client);}catch{}}public static void Resolve(string request, Socket response){string[] strs request.Split(new string[] { \r\n }, StringSplitOptions.None);if (strs.Length 0){string[] items strs[0].Split( );Dictionarystring, string param new Dictionarystring, string();if (strs.Contains()){string post_data strs[strs.Length - 1];if (post_data ! ){string[] post_datas post_data.Split();foreach (string s in post_datas){param.Add(s.Split()[0], s.Split()[1]);}}}Route(items[1], param, response);}}public static void HomePage(Socket response,string result){string statusline HTTP/1.1 200 OK\r\n;byte[] statusline_to_bytes Encoding.UTF8.GetBytes(statusline);string content result;byte[] content_to_bytes Encoding.UTF8.GetBytes(content);string header string.Format(Access-Control-Allow-Origin:*\r\nContent-Type:text/html;charsetUTF-8\r\nContent-Length:{0}\r\n, content_to_bytes.Length);byte[] header_to_bytes Encoding.UTF8.GetBytes(header);response.Send(statusline_to_bytes);response.Send(header_to_bytes);response.Send(new byte[] { (byte)\r, (byte)\n });response.Send(content_to_bytes);response.Close();}}第三部分 前端页面与Ajax请求 前端页面设计为: ajax请求代码: $(.red_button).click(function () {if (user_Boolean password_Boolean varconfirm_Boolean Mobile_Boolean true) {$.ajax({type: POST,url: http://127.0.0.1:8086/,data: {userName:$(#userName).val(),psd: $(#psd).val(),phoneNum: $(#phoneNum).val()},success: function (data) {if (data ok) {alert(注册成功!!)} else {alert(data);}}});} else {alert(请完善信息);} }); 至此,程序完成.运行程序进行验证. 1:启动服务端程序 2:启动前端页面进行数据填写 3 添加结果 至此 Demo功能完成。之前没有试过利用Socket技术完成Ajax请求,这次也算是一次尝试,偶尔看到这个程序,以防以后需要 做个笔记.. 本文转载于:猿2048https://www.mk2048.com/blog/blog.php?idcaichjtitleMySqlSocket 完成数据库的增查Demo
http://www.pierceye.com/news/113760/

相关文章:

  • 门户网站建设汇报如果在网上接网站建设项目
  • 网站开发文档是什么概念注册个体户
  • 双井做网站的公司app开发和网站开发价格
  • 电梯企业网站制作中山网站建设电话
  • 做网站推广哪些跨境电商平台企业
  • 域名注册网站推荐方案模板
  • 亚运村网站建设北京工商注册官网
  • sql2005做网站书店网站建设人员分配
  • 工商局网站怎么做股东实名认证石家庄网站建设公司怎么样
  • 做公众号的模版的网站国内网站做国外服务器
  • 做国际网站的上海高端网站公司wordpress 4.9.6 下载
  • 学校集约网站建设最牛餐饮营销手段
  • wordpress影视站网站太花哨
  • 青岛 机械 中企动力提供网站建设小说网站怎么做空间小
  • 通江县网站建设做网站到八方资源网怎么样
  • 国家网站建设ssh架构jsp网站开发
  • 浦东新区手机网站设计网络营销做得好的产品
  • 浙江市建设网站市场监督管理局电话举报电话
  • 企业网站的建设的功能定位菏泽百度推广公司电话
  • linux系统怎么做网站女生去住建局好不好
  • 自己搭建环境建设网站网站开发温州
  • 下沙做网站软件erp系统的主要功能
  • 郑州网站建设专家最新手机排行榜2021
  • 宠物店网站建设策划书重庆网站建设 红旗河沟
  • 一般网站自己可以做播放器吗最简单的一个网站开发
  • 网站的开发商务网站安全方案设计
  • 如何建立网站教材漳诈网站建设
  • 开家网站设计公司广州网站建设app开发
  • 建站服务公司网站源码成都游戏外包公司排名
  • 呼伦贝尔网站建设呼伦贝尔astro wordpress