using System;
using System.Data.SqlClient;
using System.Linq;
using System.Data.Linq;
using System.IO;class TestBoxing
{
static void Main()
{
string userTempFolder = Environment.GetEnvironmentVariable("SystemDrive") + @"\YJingLee";
string userMDF = System.IO.Path.Combine(userTempFolder, @"NewCreateDB.mdf");
string connStr = String.Format(@"Data Source=hm;AttachDbFilename={0};User ID=sa;pwd=sa;", userMDF);
DataContext db = new DataContext(connStr);
//string strConn = @"Data Source=hm;Initial Catalog=Test;User ID=sa;pwd=sa";
//DataContext db = new DataContext(strConn); if (db.DatabaseExists() == true)
{
Console.WriteLine(db.Connection.Database + "数据库已经存在。");
}
else
{
Console.WriteLine(db.Connection.Database + "数据库不存在。");
db.CreateDatabase(); }
Console.ReadLine();
}
}
问题1:当我用这样的方式的时候
userMDF="C:\YJingLee\NewCreateDB.mdf";
而这个数据库是米有的,
执行到
db.CreateDatabase()方法的时候会出现这样的错误
无法创建数据库,原因是数据上下文“DataContext”没有任何表。
这哪里的问题?问题2:当我连接方法写成这样的时候:string strConn = @"Data Source=hm;Initial Catalog=Test;User ID=sa;pwd=sa";
DataContext db = new DataContext(strConn);当然也是这个问题,但是我想问的是,这两种连接字符串有什么区别?你看的第一种,他加绝对路径干什么?
有什么用,啥意思。你看第二种,他不加绝对路径,而且如果这个“Initial Catalog=Test”,写成在我服务器上有的数据库的话。他会提示:数据库已经存在说明能检测到。数据库。--------------------
反正就是想问这么搞个连接数据库的字符串。
给我链接,或给我解惑下。Thanks。
using System.Data.SqlClient;
using System.Linq;
using System.Data.Linq;
using System.IO;class TestBoxing
{
static void Main()
{
string userTempFolder = Environment.GetEnvironmentVariable("SystemDrive") + @"\YJingLee";
string userMDF = System.IO.Path.Combine(userTempFolder, @"NewCreateDB.mdf");
string connStr = String.Format(@"Data Source=hm;AttachDbFilename={0};User ID=sa;pwd=sa;", userMDF);
DataContext db = new DataContext(connStr);
//string strConn = @"Data Source=hm;Initial Catalog=Test;User ID=sa;pwd=sa";
//DataContext db = new DataContext(strConn); if (db.DatabaseExists() == true)
{
Console.WriteLine(db.Connection.Database + "数据库已经存在。");
}
else
{
Console.WriteLine(db.Connection.Database + "数据库不存在。");
db.CreateDatabase(); }
Console.ReadLine();
}
}
问题1:当我用这样的方式的时候
userMDF="C:\YJingLee\NewCreateDB.mdf";
而这个数据库是米有的,
执行到
db.CreateDatabase()方法的时候会出现这样的错误
无法创建数据库,原因是数据上下文“DataContext”没有任何表。
这哪里的问题?问题2:当我连接方法写成这样的时候:string strConn = @"Data Source=hm;Initial Catalog=Test;User ID=sa;pwd=sa";
DataContext db = new DataContext(strConn);当然也是这个问题,但是我想问的是,这两种连接字符串有什么区别?你看的第一种,他加绝对路径干什么?
有什么用,啥意思。你看第二种,他不加绝对路径,而且如果这个“Initial Catalog=Test”,写成在我服务器上有的数据库的话。他会提示:数据库已经存在说明能检测到。数据库。--------------------
反正就是想问这么搞个连接数据库的字符串。
给我链接,或给我解惑下。Thanks。
解决方案 »
- 又是MVC的问题。雷锋程序员们帮忙看看。。超级初级的问题问题等级LV1
- 关于入库扫描问题,怎么实现页面回车第一次回车显示内容,第二次回车执行button按钮?
- 用控制台做数据库的update的时候碰到的大数据量情况
- asp怎么读web.config ?
- gridview增加属性列
- 有关连接字符串的问题,紧急
- DataBinding:“System.Data.DataRowView”不包含名为“News_HtmlContent”的属性。多人访问就出这个错误
- VS2005 安装与部署错误 (未能找到文件“E:\blueFiles\GKDB_RESTORE.bak” '存储空间不足,无法完成此操作)
- 如何禁用图片工具栏
- 关于datagrid 做为一个对话框一个控件的问题 ,
- 大家帮忙看看这个SQLHelper是不是很垃圾!!
- 调用DLL 报错 检索 COM 类工厂中 CLSID (希望开发过汇付天下的高手来看看)
// "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
// "initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
// "Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".
// " Connect Timeout=30":连接超时时间为30秒.(根据情况添加)
// PS:
// 1.你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"uid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
// 2. 如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
string strConnection = "Trusted_Connection=SSPI;";
strConnection += "database=NTF_Navision_enlistment60;Server=CAIXIATA-6BE823;";
strConnection += "Connect Timeout=30";
连接字符串 对于用不用linq是一样的。
你也可以参考www.conectionstrings.com去找连接字符串
呵呵。
听LZ口气就知道在等sp1234
老哥帮你顶顶帖子吧
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// "uid=sa":连接数据库的用户名为sa.
// "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
// "initial catalog=Northwind":使用的数据源为"Northwind"这个数据库.他的别名为"Database",本句可以写成"Database=Northwind".
// "Server=YourSQLServer":使用名为"YourSQLServer"的服务器.他的别名为"Data Source","Address","Addr".
// " Connect Timeout=30":连接超时时间为30秒.(根据情况添加)
// PS:
// 1.你的SQL Server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的SQL Server设置为Windows登录,那么在这里就不需要使用"uid"和"password"这样的方式来登录,而需要使用"Trusted_Connection=SSPI"来进行登录.
// 2. 如果使用的是本地数据库且定义了实例名,则可以写为"Server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或IP地址.
string strConnection = "Trusted_Connection=SSPI;";
strConnection += "database=NTF_Navision_enlistment60;Server=CAIXIATA-6BE823;";
strConnection += "Connect Timeout=30";
using (SqlConnection objConnection = new SqlConnection(strConnection))
{
objConnection.Open();
// method 1
SqlCommand myCommand = new SqlCommand("select * from Couse", objConnection); Console.WriteLine("open");
SqlDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Console.WriteLine(myReader.GetFieldType(0));
Console.WriteLine(myReader.GetFieldType(1));
Console.WriteLine(myReader.GetFieldType(2));
Console.WriteLine(myReader.GetDecimal(0));
Console.WriteLine(myReader.GetDecimal(1));
Console.WriteLine(myReader.GetDecimal(2));
}
myReader.Close(); // method 2
SqlDataAdapter myCommandd = new SqlDataAdapter("select * from Couse", objConnection);
DataSet ds = new DataSet();
myCommandd.Fill(ds, "Couse");
DataTable dt = ds.Tables["couse"];
Console.WriteLine(dt.Columns[0].ToString());
Console.WriteLine(dt.DefaultView.Count);
}
}
}
}本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/04/30/4139145.aspx
不使用连接字符串就要通过DBML实现连接数据库,创建实体类
亮哥,我倒不在乎舆论对sp1234如何看,sp1234在我心目中就是一首交响诗,虽然偶尔会有几个不太和谐音符爆出,但终归还是优雅的。老吴以迅雷不及掩耳之势又来抢分了
老吴一直走学院派路线,博览群书。
孜孜不倦的提携了不少菜鸟,从来不拒绝菜鸟的好友申请。
一看就知道生活中是一个老实而勤奋的技术人员。
{
public Table<Passport> PassportTable;
public Table<User> UserTable;
public Table<GroupBase> GroupBaseTable;
public Table<SysLog> SysLogTable;
public Table<Message> t6;
}这样大概语句
new MyDB().CreateDatabase(connectionString);
就可以创建数据库了。不过我还是那句话,对于SQL Server,还是另外自己写一个反射程序来自动创建吧,也当练练手。.net的功能不太灵活和全面。
sp1234对待自己的fans,从来都是热情洋溢而又充满耐心的。