![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 24.09.2010
Сообщений: 1
|
![]()
помогите исправить код, есть клиент сервер, по запросам клиента серверное приложение обращяется к серверу 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(GetInfoFor Client)); 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();}}} |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с базой данных | Aleksandra1990 | C++ Builder | 0 | 04.05.2012 22:36 |
(Delphi) Работа с базой | v.v.veter | Помощь студентам | 2 | 25.05.2011 21:21 |
delphi+sql server 2005 как соединиться с базой? | betirsolt | БД в Delphi | 5 | 04.05.2010 19:47 |
Работа с базой данных | Dizark | Помощь студентам | 1 | 01.03.2008 20:30 |