Сохранение возвращаемых значений из метода
Привет,
У меня есть событие нажатия кнопки, и значения, возвращаемые из метода, должны быть сохранены.Как я могу этого достичь?
Кнопка будет нажата несколько раз, я должен сохранить возвращаемое значение каждый раз, когда кнопка нажата
protected void AddRowToAddressee_Click(object sender, EventArgs e) { try { string var = GenerateInsertSqlToAddressee(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
Что я уже пробовал:
//public class FrmKeys //{ // public string savess { get; set; } // //added below from potential fixes // //public static implicit operator FrmKeys(string v) // //{ // // throw new NotImplementedException(); // //} // //public void FrmKeys(string v) // //{ // // //throw new NotImplementedException(); // //} //} //protected void AddNewFormKeys_Click(object sender, EventArgs e) //{ // try // { // string savess = GenerateInsertSql2(); // FrmKeys frm = new FrmKeys(); // //FrmKeys InsrtAddFrmKeys = savess; // //frm = GenerateInsertSql2(); // frm = savess; // List<frmkeys> FormKeys = new List<frmkeys>(); // FormKeys.Add(frm); // foreach (FrmKeys k in FormKeys) // { // Console.WriteLine(k); // } // } // catch (Exception ex) // { // Console.WriteLine(ex.Message); // } //}
ОБНОВЛЕНИЕ: Надстройка
GenerateSqlToAddressee()
от Комментарииpublic string GenerateInsertSqlToAddressee() { string InsertSqlToAddressee = ""; //"not all code paths return a value on GenerateInsertSql()" try { //Data for ToAddressee TABLE string AddrTo_FORM_CODE = FormCodetxt.Text.ToUpper(); int AddrTo_VERSION = Convert.ToInt32(FormVersiontxt.Text); string AddrTo_AddrCode = ddlAddresseecode.SelectedValue; int AddrTo_CREATED_BY = Convert.ToInt32(Createdbytxt.Text); DateTime dateOnly2 = DateTime.Parse(CreatedDttxt.Text).Date; DateTime timeOnly = DateTime.Now; DateTime AddrTo_CREATEDDT = dateOnly2.Date.Add(timeOnly.TimeOfDay); string AddrTo_Main; if (ChBMain.Checked) { AddrTo_Main = "T"; } else { AddrTo_Main = "F"; } InsertSqlToAddressee = "INSERT INTO EFILE.FORM_ADDRESSEE_TO (form_code, version, addressee_code, main, created_dt,created_by)" + " VALUES ('" + AddrTo_FORM_CODE + "'," + AddrTo_VERSION + ",'" + AddrTo_AddrCode + "'" + ",'" + AddrTo_Main + "',TO_DATE('" + AddrTo_CREATEDDT + "', 'mm/dd/yyyy hh:mi:ss AM'),'" + AddrTo_CREATED_BY + "'); "; } catch (Exception ex) { Console.WriteLine(ex.Message); } return InsertSqlToAddressee; //"not all code paths return a value on GenerateInsertSql()" }
MadMyche
Вам нужно будет добавить к вашему вопросу такие вещи, как то, что именно вы хотите сохранить и где. Прямо сейчас вы вызываете какой-то метод, связанный с SQL, но, не видя этого метода, не имеете ни малейшего понятия, хотите ли вы сохранить текстовый файл или выполнить команду.
F-ES Sitecore
Где спас?
Member 13285619
Ниже приводится определение метода.Я думаю сохранить возвращаемое значение из приведенного ниже метода в переменной каждый раз, когда нажимается кнопка.Пожалуйста, дайте мне знать, если это не ясно.
публичная строка GenerateInsertSqlToAddressee()
{
string InsertSqlToAddressee = ""; //“не все пути кода возвращают значение в GenerateInsertSql()”
пробовать
{
//Данные для таблицы ToAddressee
строка AddrTo_FORM_CODE = FormCodetxt.Text.ToUpper();
int AddrTo_VERSION = конвертировать.ToInt32(FormVersiontxt.Text);
строка AddrTo_AddrCode = ddlAddresseecode.SelectedValue;
int AddrTo_CREATED_BY = конвертировать.ToInt32(Createdbytxt.Text);
DateOnly2 датавремя = Датавремя.Синтаксический Анализ(CreatedDttxt.Текст).Дата;
TimeOnly датавремя = Датавремя.Сейчас;
DateTime AddrTo_CREATEDDT = dateOnly2.Date.Add(timeOnly.TimeOfDay);
строка AddrTo_Main;
если (ChBMain.Проверен)
{
AddrTo_Main = "Т";
}
еще
{
AddrTo_Main = "Ф";
}
InsertSqlToAddressee = "вставить в EFILE.FORM_ADDRESSEE_TO (form_code, version, addressee_code, main, created_dt,created_by)" +
"Значения ('" + AddrTo_FORM_CODE + "'," + AddrTo_VERSION + ",'" + AddrTo_AddrCode + "'" + ",'" + AddrTo_Main
+ "',TO_DATE('" + AddrTo_CREATEDDT + "', 'mm/dd/yyyy hh:mi:ss AM'),' " + AddrTo_CREATED_BY + "'); ";
}
поймать (исключение бывший)
{
Приставка.WriteLine(напр.сообщение);
}
return InsertSqlToAddressee; //“не все пути кода возвращают значение в GenerateInsertSql()”
}
Richard Deeming
Не делай этого так!
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]
Member 13285619
Я это проверю.Чем Ты!