→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ 1 сообщение ] 
клиент сервер 
Автор Сообщение
Начинающий

Регистрация: 12.04.2013
Сообщения: 1

Репутация: 0 [ ? ]
Сообщение клиент сервер
помогите исправить код, есть клиент сервер, по запросам клиента серверное приложение обращяется к серверу ms sql 2008 и выводит значение ID строк из таблицы, но выводит например так
таблица:
ID name ttt
1 1 1
2 2 2
100 100 100

а вывод 1 2 1 0 0, а должно быть 1 2 100,
заместо трех строк выводит как будто там 5 строк.

язык разработки С#. Тип приложения – Приложение Windows Forms
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Threading;
using System.Net;
using System.Data.SqlClient;

namespace lab3_server
{
public partial class Form1 : Form
{
private TcpListener tcpListener;
private Thread ListenThread;
public Form1()
{
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.tcpListener = new TcpListener(IPAddress.Any, 1234);
this.ListenThread = new Thread(new ThreadStart(ListenForClient));
ListenThread.Start();
button1.Enabled = false;
}
private void ListenForClient()
{
this.tcpListener.Start();
while (true)
{
TcpClient client = this.tcpListener.AcceptTcpClient();
//клиент присоеденился и выдал ответ,как еще не думал
Thread clientThread = new Thread(new ParameterizedThreadStart(GetInfoForClient));
clientThread.Start(client);
}
}
DataTable D = new DataTable();
DataTable A = new DataTable();
DataTable O = new DataTable();
DataTable S = new DataTable();
private void GetInfoForClient(object client)
{
string zapros = "";
TcpClient tcpClient = (TcpClient)client;
NetworkStream clientStream = tcpClient.GetStream();
byte[] Message = new byte[4096];
int bytesRead;
String strSQL = "";
ASCIIEncoding encoder = new ASCIIEncoding();
while (true)
{
bytesRead = 0;
try
{
bytesRead = clientStream.Read(Message, 0, 4096);
}
catch
{
break;
}
strSQL = strSQL + encoder.GetString(Message, 0, bytesRead);
switch (strSQL)
{
case "Hello Server!":
zapros = "default";
break;
case "user":
zapros = "user";
break;
case "user1":
zapros = "user1";
break;
case "Show City info Table":
zapros = "Show City info Table";
break;

default: break;
}
if (!clientStream.DataAvailable)
{
break;
}

}//недобавил в обработчик запрос
//нужно ли вернуть обновленное ид? и нужен ли о том,что успешно удалил
if (strSQL == "") return;
else richTextBox1.Text += DateTime.Now.ToString("HH:mm:ss") + " [ " + strSQL + " ]" + "\r\n";
//zapros in bd
//otprovlyaem otvet
switch (zapros)
{
case "default":
byte[] buffer = encoder.GetBytes("Hello Please write you Login");
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Flush();
break;
case "user":
byte[] buffer1 = encoder.GetBytes("Write Password User!");
clientStream.Write(buffer1, 0, buffer1.Length);
clientStream.Flush();
break;
case "user1":
byte[] buffer2 = encoder.GetBytes("Welcome User");
clientStream.Write(buffer2, 0, buffer2.Length);
clientStream.Flush();
break;
case "Show City info Table": A.Reset();
SqlConnection sqlquest = new SqlConnection("Data Source=172.16.7.141;Initial Catalog=maslov_ai;Integrated Security=True");
sqlquest.Open();
SqlDataAdapter d = new SqlDataAdapter("Select * from City", sqlquest);
d.Fill(A);
for (int a = 0; a < A.Rows.Count - 1; a++)
{
byte[] buffer3 = encoder.GetBytes(Convert.ToString(A.Rows[a][0]));
clientStream.Write(buffer3, 0, buffer3.Length);
clientStream.Flush();
}
d.Dispose();
sqlquest.Close();
break;
default: break;
}
tcpClient.Close();}}}


12.04.2013 11:44
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»