在代码中建立的表格找不到了

本文探讨了在SQL中创建表时可能出现的位置错误,即表未出现在预期的数据库中,而是被创建在登录名对应的数据库下。通过一个具体示例,讲解了如何检查和修正这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一次在练习中,发现自己建的表在数据库中找不到了,语句如下 

 string strsql = @"IF object_id(N'NewchatInfo',N'U') is not null
 BEGIN INSERT INTO NewchatInfo(Name,Movephone,Password) VALUES(@Name,@Movephone,@Password)
 IF @@ROWCOUNT>0 SELECT '1' ELSE SELECT '0' END
 ELSE BEGIN CREATE TABLE NewchatInfo(Name varchar(200),Movephone varchar(20),Password varchar(20)) 
 INSERT INTO NewchatInfo(Name,Movephone,Password) VALUES(@Name,@Movephone,@Password) 
 IF @@ROWCOUNT>0 SELECT '1' ELSE SELECT '0' END";
 SqlParameter[] para = new SqlParameter[]
 {
  new SqlParameter("@Name", _name),
  new SqlParameter("@Movephone", _tel),
  new SqlParameter("@Password", _pwd)
};
string k = sql.GetScalarString(strsql, false, para);

其中连接数据库语句

public string constr = "Max Pool Size = 512;server=服务器;uid=userid;pwd=password;database=MyDatabase";

在查看表时,明明可以在MyDatabase数据库中追踪到此strsql语句,但就是在该数据库中找不到该表,后来才知道,

若该数据库中不存在要建的表NewchatInfo时,表会建在用户名为userid的登录名下,而不会出现在MyDatabase数据库中,用userid登录就可以看到自己建的表啦

转载于:https://www.cnblogs.com/HapetyPing/p/7538143.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值