Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Одна из базовых технологий – Клиент-Сервер (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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...