Как я могу автоматически определить число в vb.net? - PullRequest
0 голосов
/ 04 декабря 2010

Я хочу создать автоматический номер в моем проекте ....

я использовал vb .net 2008 и SQl server 2005 в качестве бэкэнда ??

Я хочу создать серийный номер, который похож на abc / 2010 / 01. . В этом ..

  1. abc одинаков во всех серийных номерах.
  2. 2010 используется с текущего года . (С использованием даты для года)
  3. 01 - это фактический серийный номер , который может быть автоматически генерирован ...

Но как я могу это сделать .... ?? и Как я могу найти максимальное число из моего серийного номера ..... ??? как я могу сохранить его, если я удаляю его, то после удаления серийного номера не будет места ... (в серийном номере нет перерыва при удалении) ?????? Пожалуйста, помогите мне .....

Ответы [ 2 ]

1 голос
/ 04 декабря 2010

Вы можете сохранить серийные номера в таблице базы данных, где третий компонент числа является первичным ключом таблицы в качестве поля идентификации. Каждый раз, когда вы создаете новый серийный номер, вы вставляете текущий год и статический текст в таблицу. Простой способ сделать это - заключить эту логику в хранимую процедуру, которая не принимает аргументов, внутренне вставляет текущий год и текст и возвращает весь серийный номер как одно скалярное значение.

Что-то вроде:

INSERT INTO SerialNumbers (Year, Name) VALUES (year(getdate()), 'abc')

и

SELECT Name + '/' + CAST(Year AS nvarchar) + '/' + CAST(ID AS nvarchar) FROM SerialNumbers WHERE ID = SCOPE_IDENTITY()

1 голос
/ 04 декабря 2010

вот фрагмент кода для генерации newid я взял простой ярлык и текстовое поле label автоматически сгенерирует newid, а textbox вставит новую запись в базу данных возьмите ярлык и текстовое поле на странице вашего дизайна

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page 
{
    public  static int temp;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            newcode();
        }

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
       SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=practice;Integrated Security=True;");

       con.Open();
        SqlCommand cmd = new SqlCommand("Insert into frmlogin(id,username) values ("+ temp+",'"+TextBox1.Text+"')", con);
        cmd.CommandType = CommandType.Text;
       cmd.Parameters.AddWithValue("username", TextBox1.Text);

        cmd.ExecuteNonQuery();
        con.Close();
        TextBox1.Text = "";
        Label1.Text = "";
        newcode();

    }
    public void newcode()
    {
        SqlConnection con1 = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=practice;Integrated Security=True;");
        con1.Open();
        SqlCommand cmd2 = new SqlCommand("Select Max(id) as empid from frmlogin", con1);
        cmd2.CommandType = CommandType.Text;
        SqlDataReader r = cmd2.ExecuteReader();
        r.Read();

        if (r["empid"].ToString() != "")
        {
            temp = int.Parse(r["empid"].ToString()) + 1;
        }
        else
        {
            temp = 1;

        }

        Label1.Text= temp.ToString();
        r.Close();
        con1.Close();
    }



}

Главное, чтобы вы где-то сохранили увеличенный номер, в моем случае я использовал текстовое поле и метку.

Но я скорее рекомендую вам выбрать GUID или случайное число.

для GUID:

System.Guid.NewGuid().ToString(); 

Посмотрите здесь а также

для генерации случайных чисел

::: Программа, использующая случайный тип [C #] :::

using System;

class Program
{
    static void Main()
    {
        Random random = new Random();
        Console.WriteLine(random.Next());
        Console.WriteLine(random.Next());
    }
}

::: Output of the program :::

1592498984
1526415661

Попробуйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...