Рейтинг:
2
devildx2050
Есть два способа использовать функцию автозаполнения
1. Автозавершение текстового поля с ранее введенным текстом в текстовом поле.
2. Автозаполнение текстового поля путем выборки данных из БД.
1. Автозавершение текстового поля с ранее введенным текстом в текстовом поле.
Для заполнения текстового поля ранее введенными данными/текстом в текстовом поле с помощью функции автозаполнения мы можем реализовать, установив режим автозаполнения proeprty текстового поля для предложения, добавления или sugestappend и установив источник автозаполнения на пользовательский источник progrmetically
Прежде всего создайте глобальную AutoCompleteStringCollection и напишите такой код
namespace WindowsApplication1
{
public partial class Form1 : Form
{
AutoCompleteStringCollection autoComplete = new AutoCompleteStringCollection();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
autoComplete.Add(textBox1.Text);
MessageBox.Show("hello");
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
//auto.Add(textBox1.Text);
textBox1.AutoCompleteCustomSource = autoComplete;
}
}
}
2. Автозаполнение текстового поля путем выборки данных из БД.
Для этого я создал базу данных с таблицей, содержащей имена, которые будут отображаться в текстовом поле в качестве предложений, для этого нам нужно создать AutoCompleteStringCollection, а затем добавить записи в эту коллекцию с помощью datareader для извлечения записей из базы данных
Для работы функции автозаполнения нам необходимо определить эти 3 свойства текстового поля
1. AutoCompleteMode - мы можем выбрать либо suggest, либо appned, либо suggestappend, поскольку имена не требуют пояснений
2. AutoCompleteSource - это должно быть установлено в качестве пользовательского источника
3. AutoCompleteCustomSource - это коллекция, которую мы создали ранее
Полный код C# будет выглядеть следующим образом
namespace AutoCompleteTextBox
{
public partial class frmAuto : Form
{
public string strConnection =
ConfigurationManager.AppSettings["ConnString"];
AutoCompleteStringCollection namesCollection =
new AutoCompleteStringCollection();
public frmAuto()
{
InitializeComponent();
}
private void frmAuto_Load(object sender, EventArgs e)
{
SqlDataReader dReader;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = strConnection;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText =
"Select distinct [Name] from [Names]" +
" order by [Name] asc";
conn.Open();
dReader = cmd.ExecuteReader();
if (dReader.HasRows == true)
{
while (dReader.Read())
namesCollection.Add(dReader["Name"].ToString());
}
else
{
MessageBox.Show("Data not found");
}
dReader.Close();
txtName.AutoCompleteMode = AutoCompleteMode.Suggest;
txtName.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtName.AutoCompleteCustomSource = namesCollection;
}
private void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void btnOk_Click(object sender, EventArgs e)
{
MessageBox.Show("Hope you like this example");
}
}
}
Member 8597829
плз решить эту ошибку
у меня есть 1 текстовое поле с именем id.
используя этот идентификатор, я хочу получить данные из базы данных и отобразить их в другом txtbox...?как это возможно....
и мой код приведен ниже
SqlConnection con2 = новый SqlConnection();
кон2.Параметр connectionString = "сервер=.;базы данных=Примечания;Уид=СА;фрд=Сандипа;";
SqlDataAdapter da = новый SqlDataAdapter();
da.SelectCommand = new SqlCommand("SELECT Describtion,Title_name FROM notes WHERE id"=textBox1.Text, con2);
con2.Открыть();
да.Заполнить(ДС);
/- па.Команды insertcommand.Метод executenonquery();
textbox3 и.Текст = ДС.Метод GetObjectData.Метод toString();
con2.Рядом();
monmoy
да.Заполнить(ДС);
Что такое ds?
Рейтинг:
2
jaya verma
На уровне данных
SqlConnection Conn = new SqlConnection(Connection_String);
public int GetNo()
{
Conn.Open();
SqlCommand Cmd = new SqlCommand(Command, Conn);
SqlDataReader dr= Cmd.ExecuteReader();
Int64 intNo;
while(dr.read())
{
intNo=int64.parse(dr.getValue(0).tostring);
}
Conn.Close();
}
НА БИЗНЕС-УРОВНЕ
Создать объект из уровня данных
Пусть имя DL будет клиентом
CustomerDL ObjCustDL=new CustomerDL();
public int GetNo()
{
int Result;
result=objCustDL.GetNo();
return Result;
}
На странице .CS
Создать объект класса BL
CustomerBL ObjCustBL=new CustomerBL();
int64 Num=0;
Num=objCUstBL.GetNo();
textBox.text=Num.tostring();
Надеюсь, это вам поможет...:)
dmsWebDev
Решение №6 - это то, что я искал-как перенести оператор SQL Select из уровня доступа к данным в уровень пользовательского интерфейса C# asp.net/web приложение! Спасибо тебе, Джей Верма.
Рейтинг:
2
Rickin Kane
использование корпоративной библиотеки microsoft
using System;
using System.Text;
using System.Data;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.SqlClient;
using System.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql
public static Database GetInstance()
{
if (database == null)
{
connectionString = ConfigurationManager.AppSettings["Database.Connection"].ToString();
database = new SqlDatabase(connectionString);
}
return database;
}
public DataSet RetrieveInfo(string paramter)
{
DataSet ds;
DbCommand command = null;
object[] @params = new object[1];
@params[0] = paramter;
Database db = GetInstance();
command = db.GetStoredProcCommand("script or SP Name", @params);
ds= db.ExecuteDataSet(command);
command.Connection.Close();
return ds;
}
на своей странице используйте нижеприведенную строку кода
DataSet ds= issueDetails.RetrieveInfo(string paramter);
textbox.Text = ds.Tables[0].Rows[0]["name_of_db_column"].ToString();
Рейтинг:
1
Michael Waguih
Привет Эли Зи,
Вы можете использовать это :
SqlConnection Conn = new SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command, Conn);
Conn.Open();
SqlDataReader DR1 = Comm1.ExecuteReader();
if (DR1.Read())
{
textBox.Text = DR1.GetValue(0).ToString();
}
Conn.Close();
другой способ :
SqlConnection Conn = new SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command, Conn);
Conn.Open();
textBox.Text = Comm1.ExecuteScalar();
Conn.Close();
Я надеюсь, что вы поможете,
:)
Pradeep CBZ
Здравствуйте сэр,
Я использовал свой путь,но я сделал небольшое изменение в соответствии с вами,даже если это не повторяется.
Я создал в приложении windows одну форму,в которой я создал три метки (первая,средняя,последняя) и перед этим я создал текстовые поля с помощью Кнопка поиска в самом низу .А теперь я создал в базе данных три поля под названием first,middle,last и дал значения для этих полей . что мне нужно,так это когда я ввожу в текстовое поле "first" и нажимаю кнопку search, для оставшихся текстовых блоков, таких как middle & last, данные должны быть повторно введены в него.Теперь он дает ошибку, говоря, что не может преобразовать varchar в int.Я дал тип данных для всех полей в базе данных как "varchar(50)". Это и есть ошибка Преобразование не удалось при преобразовании значения varchar 'f' В тип данных int..
А это код:
пространство имен Config_admin
{
публичный частичный класс Form2 : форма
{
SqlCommand cmd = новая команда SqlCommand();
Класс sqldatareader RDR, а;
Набор ДС;
SqlDataAdapter da;
общественные формы Form2()
{
метод InitializeComponent();
}
частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
Объект sqlconnection кон = новое sqlconnection("источник данных=П\\именем sqlexpress;начальный каталог=ЭКГ;Комплексная безопасность=истина");
против.Открыть();
УМК.Свойства commandtext = "выбрать * из Таблица2 где первый=" + текстовое поле textbox1.Текст.Отделка();
УМК.Подключение = кон;
rdr = cmd.Метода executereader();
bool temp = false;
а (ор.Читать())
{
//текстовое поле textbox1.Текст = РДР.Метода getString(0);
поле textbox2.Текст = РДР.Метода getString(1);
textbox3 и.Текст = РДР.Метода getString(2);
//textBox4.Text = rdr.GetString(3);
//textBox5.Text = rdr.GetString(4);
//textBox6.Text = rdr.GetString(5);
//textBox7.Text = rdr.GetString(6);
//textBox8.Text = rdr.GetString(7);
//textBox9.Text = rdr.GetString(8);
//textBox10.Text = rdr.GetString(9);
темп = истина;
}
if (temp == false)
Ящик для сообщений.Показать("не найдено");
против.Закрывать();
против.Открыть();
ds = новый набор данных();
da = new SqlDataAdapter("select * from Table2", con);
да.Заполнить(ДС, "Таблица2");
против.Закрывать();
}
}
}
Пожалуйста, кто-нибудь, помогите мне.
Спасибо и с уважением
Pradeep CBZ
pradeepcbckm@gmail.com
Member 10271562
Привет, это Гопинатх. у меня есть одна проблема в Windows asp.net и кодирование на C#.на самом деле у меня есть, чтобы отобразить имя пользователя от базы данных.имя пользователя уже хранятся в базе данных у меня есть, чтобы отобразить имя пользователя в фрон конец текстового поля..а если я нажму даже смятая он будет отображаться в текстовом поле ..может ли один предложить мне ..правильный код
Joseph Ignacius Gono
хмм....
Madhuri P from Bombay Maharashtra, India
SqlConnection Conn = новый SqlConnection(Connection_String);
SqlCommand Comm1 = new SqlCommand(Command, Conn);
Конн.Открыт();
SqlDataReader DR1 = Comm1.Метода executereader();
если (ДР1.Читать())
{
текстовый.Text = DR1.GetValue(0).Метод toString();
}
Конн.Близко();
Этот код работает нормально
Member 14743579
как я могу использовать этот код в 3 слое, когда я использую этот код на 3 слое в 3 слое в то время у меня есть ошибка на sqldatareader и ошибка con close я думаю, что sqldata reader не работает на 3 слое. я использовал эти файлы, чтобы создать 3 слоя файлов : да слой, такой слой, слой БА, Главная страница..
Ganesh Nikam
хии Прадип ,
измените эту строку
УМК.Свойства commandtext = "выбрать * из Таблица2 где первый=" + текстовое поле textbox1.Текст.Отделка();
к
УМК.Свойства commandtext = "выбрать * из Таблица2 где первый='" + текстовое поле textbox1.Текст.Отделка()+"'";
это будет работать нормально
спасибо
[no name]
да, Ганеш, теперь он идеален ... спасибо, Яр
Member 10271562
этот мой код я должен автоматически отображать имя пользователя базы данных в следующей форме .SqlConnection conn = new SqlConnection(strconnectionstring);
Коннектикут.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("Select * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'", соед);
УМК.Свойства commandtext = "выбрать * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'";
Коннектикут.Close();...bt its not working can any one help me
Member 10271562
этот мой код я должен автоматически отображать имя пользователя базы данных в следующей форме .SqlConnection conn = new SqlConnection(strconnectionstring);
Коннектикут.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("Select * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'", соед);
УМК.Свойства commandtext = "выбрать * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'";
Коннектикут.Close();...bt its not working can any one help me
Member 10271562
этот мой код я должен автоматически отображать имя пользователя базы данных в следующей форме .SqlConnection conn = new SqlConnection(strconnectionstring);
Коннектикут.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("Select * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'", соед);
УМК.Свойства commandtext = "выбрать * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'";
Коннектикут.Close();...bt its not working can any one help me
Member 10271562
этот мой код я должен автоматически отображать имя пользователя базы данных в следующей форме .SqlConnection conn = new SqlConnection(strconnectionstring);
Коннектикут.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("Select * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'", соед);
УМК.Свойства commandtext = "выбрать * из tb_adminregister Где UserName='" + txtEmpName.Текст.Отделка() + "'";
Коннектикут.Close();...bt its not working can any one help me
Ganesh Nikam
всегда приветствовать
[no name]
это так просто, не делайте сложных программ..........
использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
использование System.Data;
использование системы.Рисование;
использование System.Linq;
использование System.Text;
использование системы.Окна.Формы;
используя системы.Данных.Поставщики sqlclient;
пространство имен RetrieveData
{
общественности частичного класс form1 : форма
{
открытый form1()
{
метод InitializeComponent();
}
частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
bool temp = false;
Объект sqlconnection кон = новое sqlconnection("сервер=\именем sqlexpress Васима\; базы данных=Малик;параметр trusted_connection=истина");
против.Открыть();
Команда sqlcommand cmd и = новая команда sqlcommand("выбрать * из Таблица2 где первый='" + текстовое поле textbox1.Текст.Отделка() + "'", кон);
SqlDataReader dr = cmd.Метода executereader();
в то время как (dr.Read())
{
поле textbox2.Текст = доктор.Метода getString(1);
textbox3 и.Текст = доктор.Метода getString(2);
темп = истина;
}
if (temp == false)
Ящик для сообщений.Показать("не найдено");
против.Закрывать();
}
}
}
Member 12640137
ДЛЯ ПОКАЗА ИЗОБРАЖЕНИЯ
ЧТО ЖЕ МНЕ ДЕЛАТЬ?
Для EXAMPAL ( текстовое поле textbox1.Текст = доктор.Метода getString(1)
имя picturebox1.изображение = ???
Ganesh Nikam
всегда приветствовать
Sam.S129
Замечательно! Ваше решение очень полезно для меня. Большое спасибо!
Kishor Deshpande
Для 3-х слоев это неверное решение, ваш доступ к данным и пользовательский интерфейс находятся в одном слое :-(
Member 12640137
Я ХОЧУ, ЧТОБЫ ОТОБРАЗИТЬ КАРТИНКУ В ПОЛЕ КАРТИНКА СНОВА ПОЛЯ TEXTBOX1 ЗНАЧЕНИЕ, КАК ЭТО POSSIABLE
Member 14743579
Страхующий:
количество публичных строку { получить; набор; }
публичная строка prod_id { get; set; }
публичная строка party_id { get; set; }
Код страницы DALayer:
//команда для автоматического заполнения данных в таблицу количества;
общественный класс sqldatareader autofillparty_id(бел beobj)
{
пробовать
{
cmd = new SqlCommand("select * from product where prod_id='" + beobj.prod_id + "'", con);
УМК.CommandType = CommandType.Хранимая процедура;
УМК.Свойства commandtext = "spsearchpartyid";
cmd.параметры.AddWithValue("@prod_id", beobj.prod_id);
против.Открыть();
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.Значение closeconnection);
вернуться СДР;
}
поймать (исключение бывший)
{
бросок экс;
}
наконец
{
против.Закрывать();
}
}
Код BALayer
/*//команда для автозаполнения данных в таблицу количество..
общественный класс sqldatareader autofillquantity(бел beobj)
{
пробовать
{
возврат daobj.autofillparty_id(beobj);
}
поймать (исключение бывший)
{
бросок экс;
}
}*/
Код главной страницы::
частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
/* if (baobj.autofillquantity(beobj).Read())
{
txtboxpartyidquant.Текст = (beobj.party_id.Метод toString());
}*/
}
этот код не работает я знаю, что проблема находится на моей главной странице, но я не знаю, как я могу решить эту проблему, пожалуйста, помогите мне ...
Рейтинг:
1
Member 11216391
получить значение числа, хранящегося в таблице datbase
затем конвертировать.To String(dr[0].Используется функция ToString ()).чтобы сохранить значение в txtbox...........
Гурвиндер Сингх
Member 12640137
Я хочу отобразить картинку в графическом окне. как это возможно? пожалуйста, помогите мне
Member 12764477
У меня есть 2tables в базе данных sql , я хочу отобразить данные 2 таблиц в текстовом поле & принимая один столбец в качестве ссылки...вот этот код
button5_Click частная недействительным(объект отправителя, EventArgs в электронной)
{
SqlConnection con = new SqlConnection("Integrated Security=SSPI;Initial Catalog=barcode");
Команда sqlcommand cmd и = новая команда sqlcommand("Select * из tblBarcodeTest1 левое соединение таблице table_1 на tblBarcodeTest1.код=таблице table_1.[Угол резания] где код типа '" + textBox6.Text + "'", con);
против.Открыть();
SqlDataAdapter adp = новый SqlDataAdapter();
SqlDataReader red = cmd.Метода executereader();
в то время как (Ред.читать())
{
textBox2.Text = конвертировать.ToString(red[0].Метод toString());
textBox2.Text = конвертировать.ToString(красный[1].Метод toString());
textBox3.Text = красный.GetString(2);
textBox4.Text = красный.GetString(3);
textBox1.Text = красный.GetString(5);
textBox5.Text = красный.GetString(4);
textBox7.Text = конвертировать.ToString(красный[6].Метод toString());
textBox9.Text = конвертировать.ToString(красный[7].Метод toString());
textBox8.Text = конвертировать.ToString(красный[8].Метод toString());
textBox10.Текст = Преобразовать.ToString(красный[9].Метод toString());
textBox11.Текст = Преобразовать.ToString(red[10].ToString());
textBox12.Text = красный.GetString(12);
textBox17.Текст = Преобразовать.ToString(красный[11].Метод toString());
textBox13.Text =конвертировать.ToString(red[13].ToString());
textBox14.Text = красный.GetString(0);
textBox15.Text = красный.GetString(1);
textBox16.Text = конвертировать.ToString(красный[2].Метод toString());
textBox18.Текст = Преобразовать.ToString(красный[3].Метод toString());
textBox19.Text = красный.GetString(4);
}
против.Закрывать();
}
получение ошибки в textbox14 и после оставшегося boz это данные 2-й таблицы...
кто-нибудь может мне помочь..
Member 13036486
Я создал настольную форму приложения, теперь я хотел, чтобы всякий раз, когда я выбираю выбрать конкретный идентификатор в combobox остальная часть формы автоматически заполнялась данными, хранящимися в ней. Есть ли какой-нибудь способ сделать это