Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Одна из базовых технологий – Клиент-Сервер (Client-Server). Выделим сторону сервера и сторону клиента. Сервер всегда работает и прослушивает определённый порт (порт – ячейка памяти, через которую взаимодействуют клиент, ос, сервер)).
Пример:
Простое приложение сервера:
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace ConsoleApplication1
{
class TSPServer
{
public void send_proc()
{
IPAddress ipa = Dns.Resolve("Localhost").AddressList[0];
TcpListener tcplist = new TcpListener(ipa, 13222);
tcplist.Start();
System.Console.WriteLine("Waiting for client");
Socket sock = tcplist.AcceptSocket();
byte[] b = { (byte)'H', (byte)'E', (byte)'L', (byte)'L', (byte)'O' };
NetworkStream ns = new NetworkStream(sock);
ns.Write(b, 0, b.Length);
ns.Close();
tcplist.Stop();
}
static void Main()
{
TSPServer x = new TSPServer();
x.send_proc();
}
}
}
Простейший клиент:
using System;
using System.IO;
using System.Net.Sockets;
namespace ConsoleApplication2
{
class Program
{
// public send_proc(){}
static void Main()
{
TcpClient cls = new TcpClient("localhost", 13222);
NetworkStream ns = cls.GetStream();
byte[] b = new byte[100];
ns.Read(b, 0, 20);
char[] c = new char[20];
for (int i = 0; i < 20; i++)
{
c[i] = (char)b[i];
}
Console.WriteLine(c);
Console.ReadLine();
ns.Close();
cls.Close();
}
}
}
29. MySQL. Системные таблицы. Работа с C#
MySQL — свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Составные компоненты:
· Таблицы
· Функции
· Хранимые процедуры (появились с версии 5.0)
Система общается с MySQL проходит через системное окно. Соединение с MySQL: >mysql –u username –p (-p случай, когда система требует пароль).
Пример работы:
MySQL > show database;
MySQL > create database mydb;
MySQL > use mydb;
MySQL > create table Sklad (Tovar, varchar (20), cena int, PRIMARY KEY (Tovar));
MySQL > Insert Into Sklad values (‘milk’, 5400);
Набираем в.txt таблицу вида:
Milk 5400
Bread 6800
Soup 3400
Candy 1000
Сохраняем всё как mydb.txt.
MySQL > load DATA LOCAL IN FILE “c:\1\mydb.txt” INTO TABLE Sclad;
MySQL > select * from Sclad;
Взаимодействие с С# MySQL:
Создадим пустой консольный проект и подключим библиотечный класс MySQL data. Для этого в обозревателе решений нужно щелкнуть правой кнопкой мыши по имени проекта – добавить ссылку – СОМ – MySQL.Data – ок.
using System;
using System.Collections.Generic;
using System.Text;
using MySQL.Data.MySQLClient;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
string cs = @"server=localhost; userid=root; password=1234; database = mydb";
MySqlConnection conn = null;
MySqlDataReader rdr = null;
try
{
conn = new MySqlConnection(cs);
conn.Open;
string stm = "Select * from sclad";
MySqlCommand cmd = new MySqlCommand(stm, conn);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Console.WriteLine(rdr.GetInt32()) + "rdr.GetString"; //wtf???
}
}
catch (MySqlException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
finally
{
if (rdr == null) rdr.Close();
}
}
}
}
Вызов ХП из C#:
using System;
using System.Collections.Generic;
using System.Data;
using MySQL.Data.MySQLClient;
using System.Configuration;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
string constr = @"Server=localhost;" + @"UID = root; password = 1234;" + @"Data source = c:\\1\\mydb.mdf";
MySqlCommand cmd = new MySqlCommand("proc1", new SqlCommand(constr));
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection.Open();
cmd.Parametr.AddNew.MySqlParameter("par1",MessageItem.INTry_IN));
int i = cmd.ExecuteNonQUery();
cmd.Connection.Close();
}
}
}
30. Создание и вызов функций в MySQL. Примеры
Необходимо помнить, что текстовые строки необходимо брать в кавычки.
Неправильно: >select trim(sosiski!!!!);
Правильно: >select trim(‘ sosiski!!!! ‘);
>select ASCII(“2”); - возвращает код 2 в ascii
>select CHAR(77,121,83,81,76); - возвращает буквы
> select concat(str1,str2, …); - объединяет строки без пробелов.
> select length(s); - возвращает длину строки (любые строковые константы должны быть в кавычках).
> select locate(‘bar’,’superpuperbar’); - находит номер, с которого первый раз встречается подстрока.
> select locate(‘bar’,’gaybar’,6); - поиск начинается с символа 6.
> select instr(s1,s2); - содержится ли строка s1 в s2? 1(да):0(нет)
> select left(s,n); >right(s,n); - возвращает левые (правые) n символов в строке S.
> select substring(s,p,n) – возвращает подстроку из s, начиная с символа р, отсчитывая n символов.
> select lirim(s); > select ririm(s); - удаляет пробелы слева (справа).
> select trim(s); - удаляет крайние пробелы.
Дата публикования: 2015-02-03; Прочитано: 375 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!