如何检查序列号是否已被使用 [英] How to check if the Serial Number is already been used

查看:130
本文介绍了如何检查序列号是否已被使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

private void CheckSerialNumber()
    {
        
        string strSNExists = "";
        openConnection();
        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = cn;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "select Count(*) from AssetManagement where SerialNumber = @SerialNumber";
        cmd.Parameters.Add("@SerialNumber", MySqlDbType.VarChar).Value = txtSN.Text;
        MySqlDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            strSNExists = dr.GetChar(strSN).ToString();
        }
        closeConnection();
        dr.Close();

        if (strSNExists == "")
        {
            FileUpload img = (FileUpload)FileUpload1;
            Byte[] imgByte = null;
            if (img.HasFile && img.PostedFile != null)
            {
                HttpPostedFile File = FileUpload1.PostedFile;
                imgByte = new Byte[File.ContentLength];
                File.InputStream.Read(imgByte, 0, File.ContentLength);
            }
            openConnection();
            MySqlCommand cmdReg = new MySqlCommand();
            cmdReg.Connection = cn;
            cmdReg.CommandType = CommandType.Text;
            cmdReg.CommandText = "Insert into AssetManagement (Asset, Component, SerialNumber, Location, UsedBy, ProductPic) values (@Asset, @Component, @SerialNumber, @Location, @UsedBy, @ProductPic)";
            cmdReg.Parameters.Add("@Asset", MySqlDbType.VarChar).Value = txtAsset.Text;
            cmdReg.Parameters.Add("@Component", MySqlDbType.VarChar).Value = txtComponent.Text;
            cmdReg.Parameters.Add("@SerialNumber", MySqlDbType.VarChar).Value = txtSN.Text;
            cmdReg.Parameters.Add("@Location", MySqlDbType.VarChar).Value = txtLocation.Text;
            cmdReg.Parameters.Add("@UsedBy", MySqlDbType.VarChar).Value = txtUsed.Text;
            cmdReg.Parameters.Add("@ProductPic", MySqlDbType.VarBinary).Value = imgByte;
            cmdReg.ExecuteNonQuery();
            closeConnection();
            lblSNExists.Visible = false;
        }
        else
        {
            lblSNExists.Visible = true;
            txtSN.Focus();
        }

推荐答案

尝试此查询

try this query

if exists(select * from AssetManagement where SerialNumber = @SerialNumber)
begin
print 'Exists'
//Your Code
end

else
begin
print 'Not Exists'
// Your Code
end


您现有的代码已经在检查该逻辑以获取现有的序列号.




cmd.CommandText =从AssetManagement中选择Count(*),其中SerialNumber = @SerialNumber";
cmd.Parameters.Add("@ SerialNumber",MySqlDbType.VarChar).Value = txtSN.Text;
MySqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
strSNExists = dr.GetChar(strSN).ToString();
}
closeConnection();
dr.Close();

如果(strSNExists ==")
{



您的代码的这一部分检查逻辑
Your existing code already checks that logic for existing serial number.




cmd.CommandText = "select Count(*) from AssetManagement where SerialNumber = @SerialNumber";
cmd.Parameters.Add("@SerialNumber", MySqlDbType.VarChar).Value = txtSN.Text;
MySqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
strSNExists = dr.GetChar(strSN).ToString();
}
closeConnection();
dr.Close();

if (strSNExists == "")
{



This part in your code checks the logic


这篇关于如何检查序列号是否已被使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆