А как же я?.. Пожалуйста, помогите мне
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.Sql; using System.Data.SqlClient; namespace PRESCRIPTION_WRITER { public partial class Medicine_Master : Form { CLSMedicine objMedi = new CLSMedicine(); public Medicine_Master() { InitializeComponent(); BindCat(); } private void BindCat() { DataTable dt = objMedi.CreateTempTable(objMedi.GetReport2()); DataRow dr; dr = dt.NewRow(); dr["Short_Name"] = "--Select--"; dr["Category_ID"] = "-1"; dt.Rows.InsertAt(dr, 0); ddl_Category.DataSource = dt; ddl_Category.SelectedIndex = 0; ddl_Category.DisplayMember = "Short_Name"; ddl_Category.ValueMember = "Category_ID"; } private void BindUnit(int Category_ID) { DataTable dt = objMedi.CreateTempTable(objMedi.GetReport1()); DataRow dr; dr = dt.NewRow(); dr["Unit_name"] = "--Select--"; dr["Unit_ID"] = "-1"; dt.Rows.InsertAt(dr, 0); ddl_Category.DataSource = dt; ddl_Unit.SelectedIndex = -1; ddl_Unit.DisplayMember = "Unit_name"; ddl_Unit.ValueMember = "Unit_ID"; } private void ddl_Category_SelectedIndexChanged(object sender, EventArgs e) { if (ddl_Category.SelectedIndex.ToString() != "-1") { objMedi .Category_ID = Convert.ToInt32(ddl_Category.SelectedValue.ToString()); BindUnit(objMedi.Category_ID); } } } } and Class files code is ::: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Sql; using System.Data.SqlClient; namespace PRESCRIPTION_WRITER { class CLSMedicine {string Constr = System.Configuration.ConfigurationManager.AppSettings["constr"].ToString(); private string _Medicine_name, _Generic_Name, _Strength; private int _ID, _Unit_ID, _Category_ID; public int ID { get { return _ID; } set { _ID = value; } } public string Medicine_name { get { return _Medicine_name; } set { _Medicine_name = value; } } public string Generic_Name { get { return _Generic_Name; } set { _Generic_Name = value; } } public string Strength { get { return _Strength; } set { _Strength = value; } } public int Unit_ID { get { return _Unit_ID; } set { _Unit_ID = value; } } public int Category_ID { get { return _Category_ID; } set { _Category_ID = value; } } public DataTable CreateTempTable(SqlDataReader oledr) { DataTable myTable = new DataTable(); DataRow TableRow; // myTable.Columns.Add(new DataColumn("SrNo.", typeof(string))); for (int intColumn = 0; intColumn < oledr.FieldCount; intColumn++) { myTable.Columns.Add(new DataColumn(oledr.GetName(intColumn).ToString(), typeof(string))); } while (oledr.Read()) { TableRow = myTable.NewRow(); for (int intColumn = 0; intColumn < oledr.FieldCount; intColumn++) { TableRow[oledr.GetName(intColumn).ToString()] = oledr[intColumn].ToString(); } myTable.Rows.Add(TableRow); } return myTable; } public SqlDataReader GetReport() { SqlParameter[] pram = new SqlParameter[1]; pram[0] = new SqlParameter("@type", 1); return SqlHelper.ExecuteReader(Constr, "Medi", CommandType.StoredProcedure, pram); } public SqlDataReader GetReport1() { SqlParameter[] pram = new SqlParameter[2]; pram[0] = new SqlParameter("@type", 5); pram[1] = new SqlParameter("@Category_ID", Category_ID); return SqlHelper.ExecuteReader(Constr, "Medi", CommandType.StoredProcedure, pram); } public SqlDataReader GetReport2() { SqlParameter[] pram = new SqlParameter[1]; pram[0] = new SqlParameter("@type", 5); return SqlHelper.ExecuteReader(Constr, "Uni", CommandType.StoredProcedure, pram); } public int MedicineInsert() { try { SqlParameter[] pram = new SqlParameter[6]; pram[0] = new SqlParameter("@Medicine_name", Medicine_name); pram[1] = new SqlParameter("@Generic_Name", Generic_Name ); pram[2] = new SqlParameter("@Strength", Strength ); pram[3] = new SqlParameter("@Unit_ID", Unit_ID); pram[4] = new SqlParameter("@Category_ID", Category_ID); pram[5] = new SqlParameter("@Type", 2); return SqlHelper.ExecuteNonQuery(Constr, "Medi", CommandType.StoredProcedure, pram); } catch { return -1; } finally { } } public int MedicineDelete() { SqlParameter[] pram = new SqlParameter[2]; pram[0] = new SqlParameter("@Type", 4); pram[1] = new SqlParameter("@ID", ID); return SqlHelper.ExecuteNonQuery(Constr, "Medi", CommandType.StoredProcedure, pram); } public int MedicineUpdate() { SqlParameter[] pram = new SqlParameter[7]; pram[0] = new SqlParameter("@Medicine_name", Medicine_name); pram[1] = new SqlParameter("@Generic_Name", Generic_Name); pram[2] = new SqlParameter("@Strength", Strength); pram[3] = new SqlParameter("@Unit_ID", Unit_ID); pram[4] = new SqlParameter("@Category_ID", Category_ID); pram[5] = new SqlParameter("@Type", 3); pram[6] = new SqlParameter("@ID", ID); return SqlHelper.ExecuteNonQuery(Constr, "Medi", CommandType.StoredProcedure, pram); } } }
Ошибка показывает, что"входная строка была не в правильном формате."
Что я уже пробовал:
Я хочу использовать ComboBox и после этого втором поле со списком заполнения.
Дизайн стола
"Категория"
Category_ID инт снят
Category_name nvarchar(50) Проверен
Short_Name nvarchar(50) Проверен
Непроверенный
И
"Единица измерения"
Unit_ID инт снят
Unit_name nvarchar(50) Проверен
Category_ID int проверено
Непроверенный
Пожалуйста, Помогите Мне..
lmoelleb
Запустите отладчик, чтобы вы могли видеть точную строку, на которой он выходит из строя, а затем погуглите сообщение об ошибке, если оно не ясно из местоположения и значений переменных (да, даже американские профессионалы делают это на более неясных ошибках). Если это не решает проблему, сделайте меньший мир кода, который воспроизводит проблему, а затем разместите его в вопросе, используя правильное форматирование, чтобы мы могли его прочитать.
В общем, отладка - это основной навык, которому нужно научиться-вы потратите больше времени на отладчик, чем на ввод кода... чтобы сделать обучение приоритетом.