Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2013, 13:33   #1
Asotel
Новичок
Джуниор
 
Регистрация: 24.09.2010
Сообщений: 1
По умолчанию работа с базой sql

помогите исправить код, есть клиент сервер, по запросам клиента серверное приложение обращяется к серверу 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();}}}
Asotel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с базой данных 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