Реферат: Работа в БД через локальную сеть

Одна из базовых технологий – Клиент-Сервер (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); — удаляет крайние пробелы.

еще рефераты
Еще работы по информатике