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

Форум программистов: 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 сообщение ] 


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

Зарегистрированные пользователи: Google [Bot]


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

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