asp-数据库表的类型为varchar但是只能存入数字类型的字符串

问题描述

数据库表的类型为varchar但是只能存入数字类型的字符串

我的客户表customer字段类型为varchar型的 ,但是我在插入数据时不能插入字母,符号,只能插入数字类型的字符串
比如插入 “lly.sfa”就不行,但是插入“54215642”就可以 。下面是我的代码
try
{
string username = TextBox1.Text;
string password = TextBox2.Text;
string againpassword = TextBox3.Text.;
string phonenumber = TextBox4.Text.();
Random ran = new Random();

int id = Convert.ToInt32(string.Format("{0:ddHHmmss}", DateTime.Now) + ran.Next(0, 10));
string sqlselete = "select count(*) from customer where customer_name=" + username;
dataOperate sqlopereat = new dataOperate();
int num = sqlopereat.IsData(sqlselete);
if (num == 0)
{
try
{
string sqlupdata = "insert into customer(customer_id,customer_name,customer_password,customer_phone,customer_level) values(" + id+"," + phonenumber+","+username+","+password+","+ "5) ";
//bool a=sqlopereat.Insert(sqlupdata);
//if (a==true)
//{
// Response.Write("恭喜 注册成功");
//}
bool result = sqlopereat.AdlData(sqlupdata);
if (result == true)
{
Response.Write("恭喜 注册成功");
}

            }
            catch (Exception)
            {
                throw;

            }

        }

    }
    catch (Exception)
    {
        throw;

    }

}
    数据库连接没有问题    我用的是VS2015内置的数据库    是这个的问题吗?

解决方案

你的sql语句中拼接,字符串类型的变量外面要加上单引号。

解决方案二:

字符串的列名称的值要用引号扩起。。要不会报错了。。

 string sqlselete = "select count(*) from customer where customer_name='" + username+"'";////////////
dataOperate sqlopereat = new dataOperate();
int num = sqlopereat.IsData(sqlselete);
if (num == 0)
{
try
{
string sqlupdata = "insert into customer(customer_id,customer_name,customer_password,customer_phone,customer_level) values(" + id + ",'" + phonenumber + "','" + username + "','" + password + "'," + "5) ";/////////

解决方案三:

给字符串外面加一个单引号就好

解决方案四:

是不是,把他强制转换了INT32

解决方案五:

username外添加单引号

解决方案六:

这种问题,首先肯定,sql 语句的拼接有问题,针对问题下药,这是重中之重。
那什么方法最直接呢,不是问,也不是看,而是 你要调试,

首先,你会调试吗,不会,去网上查一下,一会就会了
OK ,接下来你就 在你 执行语句之前设置个断点,,(断点你总会吧)

F5 调试,运行到断点 把你的SQL 语句 复制出来,,然后往 SQL 那边粘贴下

最后,你在sql 运行下,就能看到智能提示了,这是最直观的办法,问题解决了

解决方案七:

字符串:怎样转换字符串为数字类型?

时间: 2024-09-17 03:21:19

asp-数据库表的类型为varchar但是只能存入数字类型的字符串的相关文章

根据数据库表名查询该表字段名、字段类型、以及注释

select c.name as column_name,t.name as data_type,(select value from sys.extended_properties as ex where ex.major_id = c.object_id and ex.minor_id = c.column_id) as notes from  sys.columns as c inner join sys.tables as ta on c.object_id=ta.object_id i

如何做一个高效的ASP数据库操作程序

程序|数据|数据库 <!-- 蛙蛙推荐:如何做一个高效的ASP数据库操作程序一般情况下我们做的ASP数据库程序都是ADO+ACCESS,并且都是使用一些查询字符串加记录集来操作数据库,最多也只使用了connection和recordset两个对象以及它们的几个常用的属性和方法,其实ADO的使用远不仅这些,我们还有command对象和Parameters对象没有用呢,而这两个对象用好了会提高你整个ASP程序的性能.我这里写了一个歌词管理程序,用的是sqlserver数据库和存储过程实现的,(这里没

架构师-如何创建一个不容被修改的数据库表结构?

问题描述 如何创建一个不容被修改的数据库表结构? 我想学习创建数据库表结构,但是不知道如何下手,求大神解答 刚才的问题有歧义,我修改了下. 然后声明下: 我会用数据库建模工具 我就是不太明白如何创建一个好的数据库结构,一个不容易被修改的结构,一个高效的结构 -------------------分割线----------------------- 如果让你们创建表结构你们如何创建呢?求思路~ 解决方案 不存在什么不容易被修改的表结构.首先你的程序决定了修改还是不修改. 如果你不信任你的程序,你可

class-java中字符类型与数字类型比较的问题

问题描述 java中字符类型与数字类型比较的问题 编写程序将由数字及字符组成的字符串中的数字截取出来并按顺序输出,例如: "ABC137GMNQQ2049PN5FFF"输出结果应该为 01234579. 代码如下 求解排序后的for循环输出为什么要这样写,有点不懂! public class www { public static void main(String[] args) { String str="ABC137GMNQQ2049PN5FFF"; char[

数据库表中的一列值为:2007-06-12 列的存储类型为:datatime 但是在Asp.net网面上通过DataList绑定后显示的值为:2007-06-12 0:00:00?????????????????

问题描述 数据库表中的一列值为:2007-06-12列的存储类型为:datatime但是在Asp.net网面上通过DataList绑定后显示的值为:2007-06-120:00:00?怎么样通过DataList控件绑定后让他不显示:0:00:00,而只显示:1985-06-12 解决方案 解决方案二:sql语句不要直接选出时间字段t,拼字符串year(t)+month(t)+day(t)asnewtime解决方案三:'<%#Bind("DateTime","{0:yyy

ASP获取数据库表名、库名、字段名的方法

 ASP获取数据库表名,字段名 以SQLServer为例: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: < %   Set rs=Conn.OpenSchema(20)   While not r

ASP获取数据库表名、库名、字段名的方法_应用技巧

ASP获取数据库表名,字段名 以SQLServer为例: 复制代码 代码如下: < %   SET Conn=Server.CreateObject("ADODB.Connection")   Conn.Open "Server=IP地址;Provider=sqloledb;Database=库名称;UID=用户名;PWD=密码;"   %> 读SqlServer库中的表名: 复制代码 代码如下: < %   Set rs=Conn.OpenSch

sql server-当数据库表中包含较多BIT类型的列时,该如何设计

问题描述 当数据库表中包含较多BIT类型的列时,该如何设计 比如说某一个表,包含32个bit类型的列,值为0或1.在设计该表时,是用32个bit类型好,还是一个varchar(32)好?该表需要比较频繁的查询,查询条件为32个位中的某些为1或者为0 解决方案 拆分开比较好.合成到一块不易于使用.查找时写正则什么的也比较麻烦.

ASP编程入门进阶(廿一):DAO SQL之建立数据库表

编程|数据|数据库 你是否为自己设计的数据库感到满足了呢?你确信就不要对其再处理?比如新建立数据库表,比如建立或者修改某个字段--当然这些都属于设计数据库之列. 那么,你正常的操作又是不是下载数据库到本机,然后打开之进行修改,接着再上传上去?十有八九都是如此-_-! 现在,你可以接触下有关于此的信息了,毕竟代码的功能是为手动的操作省了不少时间.不过代码的生成也还不是手工?呵呵:) 1,建立数据库文件cnbruce.mdb(不设计任何表) 建立数据库的代码: <% Option Explicit