#c# #asp.net
#c# #asp.net
Вопрос:
protected void Button1_Click(object sender, EventArgs e)
{
string cs = ConfigurationManager.ConnectionStrings["Dum01"].ConnectionString;
using (var scon = new SqlConnection(cs))
{
string codevalue = TextBox1.Text.Substring(0, 1);
var query = "SELECT MAX(CODE) AS TCODE FROM AgentMast WHERE LEFT(CODE,1)= @SearchText";
using (var cmd = new SqlCommand(query, scon))
{
cmd.Parameters.AddWithValue("@SearchText",codevalue);
cmd.CommandType = CommandType.Text;
cmd.Connection = scon;
scon.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
TextBox2.Text= sdr["TCODE"].ToString();
}
string codewithnumber = TextBox2.Text.Substring(1, 4);
Label2.Text = codewithnumber;
Label1.Text = (int.Parse(Label2.Text) 1).ToString();
string firstchar=TextBox2.Text.Substring(0,1);
Label3.Text = firstchar Label1.Text "A" ;
}
scon.Close();
}
}
}
Когда в текстовое поле вводится некоторый текст, то в соответствии с первой буквой выбирается максимальный код из таблицы AgentMast. Когда я получу максимальный код, мне нужно увеличить его на единицу. Например, если найден код Z0001A, то при следующей вставке он должен быть Z0002A. ‘A’ исправлено для таблицы агентов, а также, когда TCODE не найден, мне нужно создать новый код с первым символом textbox text, а затем 0001, а затем исправить символ ‘A’. Как решить? Заранее спасибо.
Комментарии:
1. Что вы пытались сгенерировать для кода? Все, что я вижу, это функцию для извлечения кода из базы данных.
2. теперь я получаю код с увеличением при нажатии кнопки, но когда не найден tcode в базе данных, то как создать новый код
3. Как насчет
codevalue "0001A"
?4. но как применить условие
Ответ №1:
Попробуйте это:
oldCode = sdr["TCODE"].ToString();
if (string.IsNullOrEmpty(oldCode))
{
newCode = codevalue "0001A";
}
else
{
int newIncrement = Convert.ToInt32(oldCode.Substring(1, 4)) 1;
newCode = codevalue newIncrement.ToString().PadLeft(4, '0') oldCode.Substring(5, 1);
}