Рейтинг:
12
OriginalGriff
Вы еще не сконструировали систему управления!
Либо вызовите InitializeComponent внутри всех ваших конструкторов, либо обратитесь к конструктору по умолчанию, который имеет его первым, используя цепочку построения:
public partial class New_Invoice : DevExpress.XtraEditors.XtraForm
{
string getOper = "A";
public New_Invoice()
{
InitializeComponent();
}
public New_Invoice(string oper, int invoiceno) : this()
{
// TODO: Complete member initialization
textEdit5.Text = invoiceno.ToString();
textEdit5.Visible = false;
getOper = oper;
}
srihari1904
Привет OriginalGriff,
Теперь я изменил ошибку не показанную но она показала форму с пустыми полями означает что она не будет принимать значение столбца я так думаю ?
OriginalGriff
Покажите фактический код, который вы используете!
srihari1904
частная repositoryItemButtonEdit1_Buttonclick недействительным(объект отправителя, частое.XtraEditors.Управления.ButtonPressedEventArgs е)
{
строка oper = "A";
New_Invoice ФРМ = новый New_Invoice(опер, конвертировать.ToInt32(gridView1.GetFocusedRowCellValue("invoice_number")));
ФРМ.Показать();
управления gridview1.RefreshData();
}
этот код в форме 1 и этот код в форме 2
публичный частичный класс New_Invoice : DevExpress.XtraEditors.XtraForm
{
строка getOper = "A";
общественные New_Invoice()
{
метод InitializeComponent();
}
общественные New_Invoice(строка опере, инт invoive_number)
: этот()
{
// TODO: полная инициализация элемента
//this.oper = опер;
//это.р = р;
textEdit5.Текст = invoive_number.Метод toString();
textEdit5.Видна = ложь;
getOper = опер;
}
частная New_Invoice_Load недействительным(объект отправителя, EventArgs в электронной)
{
Метод oledbconnection кон = новый объект oledbconnection("поставщик=Майкрософт.Туз.Oledb для.12.0;Источник Данных=Д:/Srihari/OrionSystem.# то # ");
int i = преобразовать.ToInt32(textEdit5.Text);
Объект oledbcommand да = новый объект oledbcommand("Select * из invoice_top где invoice_number='" + я + "' ", кон);
против.Открыть();
OleDbDataReader reader = da.ExecuteReader(); // теперь ошибка отображается как "несоответствие типов данных"
в то время как (читатель.читать())
{
textEdit12.Text = читатель.GetString(1);
textEdit13.Text = читатель.GetString(2);
textEdit4.Текст = читатель.GetString(3);
textEdit1.Текст = читатель.GetString(5);
textEdit2.Текст = читатель.GetString(6);
textEdit3.Текст = читатель.GetString(7);
}
против.Закрывать();
}
OriginalGriff
Ну, я не так уж удивлен, что вы получаете "несоответствие типов данных" - попробуйте вместо этого:
Метод oledbconnection кон = новый объект oledbconnection("поставщик=Майкрософт.Туз.Oledb для.12.0;Источник Данных=Д:/Srihari/OrionSystem.# то # ");
int i = преобразовать.ToInt32(textEdit5.Text);
OleDbCommand da = new OleDbCommand("SELECT * FROM invoice_top WHERE invoice_number=@IN, con);
да, параметры.AddWithValue("@IN", i);
против.Открыть();
И oledbdatareader читатель = да.Метода executereader();
И (предполагая, что ваш столбец invoice_number является целым числом) это должно сработать - это плохая идея объединять строки для формирования SQL-команд, это оставляет вас открытыми для атак SQL-инъекций. Всегда используйте параметризованные запросы.