WB 小技巧 生成流水号 生成随机号

前台HTML代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    </div>
        <h1>添加商品</h1>
        <asp:Button ID="Button1" runat="server" Text="姓名" />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <br />
        <br />
        <asp:Button ID="Button2" runat="server" Text="价格" />
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <br />
        <br />
        <br />
        <asp:Button ID="Button3" runat="server" Text="添加" OnClick="Button3_Click" />
            
        <asp:Button ID="Button4" runat="server" OnClick="Button4_Click" Text="随机" />
        <br />
    </form>
</body>
</html>

  后台C#代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        //取值
        string name = TextBox1.Text;
        decimal price = Convert.ToDecimal(TextBox2.Text);
        TestDataContext context = new TestDataContext();
        string code = "";
        //流水号的格式 取当前的日期时间 取出他的年月日
        //查商品表有没有Code
        if (context.ShangPin.Count() == 0)
        {
            code = DateTime.Now.ToString("yyyyMMdd") + "001";
        }
        else
        { 

            //找到数据库Code列最大的数据 截取后三位+1
            string max = context.ShangPin.Max(p=>p.Code);
            //截取字符串
            string max1 = max.Substring(8,3);
            //截取字符串
            string rq = max.Substring(8);
            if (rq == DateTime.Now.ToString("yyyyMMdd")) //如果想等 就是同一天
            {
                //转成整型
                int max2 = Convert.ToInt32(max1);// 若果是同一天 执行
                max2 = max2 + 1;

                if (max2 < 10)
                {
                    code = DateTime.Now.ToString("yyyyMMdd") + "00" + max2;
                }
                else if (max2 < 100)
                {
                    code = DateTime.Now.ToString("yyyyMMdd") + "0" + max2;
                }
                else
                {
                    code = DateTime.Now.ToString("yyyyMMdd") + max2;
                }
            }
               //执行到这

            else  //不是同一天 重新开始
            {
                code = DateTime.Now.ToString("yyyyMMdd") + "001";
            }
        }
        //添加数据  先造一个ShangPin对象
        ShangPin data = new ShangPin();
        //赋值
        data.Code = code;
        data.Name = name;
        data.Price = price;

        context.ShangPin.InsertOnSubmit(data);
        context.SubmitChanges();

    }
    protected void Button4_Click(object sender, EventArgs e)
    {
        TestDataContext context = new TestDataContext();
        string name = TextBox1.Text;
        decimal price = Convert.ToDecimal(TextBox2.Text);
        //定义一个随机数
        Random rd = new Random();
        //生成1000以内的以为随机数
        string code = DateTime.Now.ToString("yyyyMMddHHmmss")+rd.Next(1000);
        //添加数据  先造一个ShangPin对象
        ShangPin data = new ShangPin();
        //赋值
        data.Code = code;
        data.Name = name;
        data.Price = price;

        context.ShangPin.InsertOnSubmit(data);
        context.SubmitChanges();
    }
}

 SQL显示:

时间: 2024-11-05 14:52:30

WB 小技巧 生成流水号 生成随机号的相关文章

WB 小技巧 关键字 模糊查询 关键字变颜色

前台HTML代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="

mysql 生成流水号 存储过程 订单编号

用存储过程生成流水号是很常用的,这里以生成订单编号的流水号作为示例.(新的一天的流水号从1开始,如:今天的订单编号是CD2013010900014,下一个订单编号将是CD2013010900015:明天的订单编号将从CD2013011000001开始) 生成规则:    2位前缀+年月日+5位流水号     或者 2位前缀+年月日时分+5位流水号     或者 2位前缀+年月日时分秒+5位流水号. 测试订单表(test_orders): 1 CREATE TABLE `test_orders`

新增时自动生成流水号ID

在项目中,新增某条记录的时候,为了定义某个不可重复的值,会采用自动生成流水号的方式来定义这个值.根据需要,定义的方法也多种多样,比如日期加3位流水号(例:20180115001).因此了解到两种生成流水号的方法: 一.Java生成流水号 生成流水号格式为yyyyMMddXXXX import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; public class Primary

[小技巧] 在bash中生成随机数

译至:http://d.hatena.ne.jp/anmino/20091017/1255705586 bash的SHELL参数RANDOM可以生成0-32767的随机数.想设定从1到N的随机数范围的话,可以使用:$ ( ( (RANDOM % n) + 1 )) #!/bin/sh #random_bash.sh for n in 1 2 3 4 5 6 7 8 9 10; do random=$(( (RANDOM % 10) + 1 )) echo -n "$random " d

WinDBG 技巧:如何生成Dump 文件(.dump 命令)

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件. 步骤: 1) 打开WinDBG并将之Attach 到crash的程序进程 2) 输入产生dump 文件的命令 WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件. 选项(1): /m 命令行示例:.dump /m C:\dumps\myapp.dmp 注解: 缺省选项,生成标准的minidump, 转

SQL Server 存储过程生成流水号

SQL Server利用存储过程生成流水号 USE BiddingConfig SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO -- ============================================= -- Author: 小爽 -- Create date: 2017-05-25 -- Description: 业务数据KEY生成 -- 构成规则: [区域编号][应用系统编号][版本编号][功能编号][日期戳][流水记录号]

银行转账存储过程和流水号生成存储过程

银行转账存储过程 USE [BankInfor] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[Transfer](@inAccount int,@outAccount int,@amount float) as declare @totalDeposit float; begin select @totalDeposit=total from Account where [email pro

java中生成流水号的一个例子(使用关系型数据库)

在实际的开发中,可能会有根据一定的规则生成流水号的需求(比如根据根据公司编码和日期生成4位流水号)我们可以把公司和日期联合起来作为一个业务编码,把这个业务编码和序列的值存储到数据库中,每次需要生成流水号的时候根据公司和日期联合起来生成的这个业务编码去数据库里边去查,若有记录的话就把记录的话就把对应的序列值返回,然后序列的值加一,若根据对应的业务编码查询不到相应的记录就把流水号对应的最小的值返回,然后在数据库中插入相应的记录 这种场景使用类似BerkeleyDB这种K,Value对数据库来实现是最

java中生成流水号的一个例子(使用BerkeleyDB)

package com.jiaoyiping.berkeleydb; import com.sleepycat.je.*; import com.sleepycat.utilint.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.UnsupportedEncodingException; /** * Created with IntelliJ IDEA. * User: 焦一