数据库怎么存储其它数据

如题,我学的数据库技术都只是存字符啊,整形啊什么的,能不能存其他数据?比如图片什么的能用自已的语言讲吗?不要CTRL+C的好吗?我看着觉得牛头不对马嘴... 如题,我学的数据库技术都只是存字符啊,整形啊什么的,能不能存其他数据?比如图片什么的
能用自已的语言讲吗?不要CTRL+C的好吗?我看着觉得牛头不对马嘴
展开
 我来答
imgej32
2011-02-16 · TA获得超过133个赞
知道答主
回答量:123
采纳率:0%
帮助的人:0
展开全部
为导航控件创建自定义的数据提供程序
导航控件使用的是Provider模型实现对导航数据的显示,它默认提供了对XML格式数据访问的的XmlSiteMapProvider,用户也可以定义自己的Provider向导航控件提供数据。
虽然默认的XmlSiteMapProvider能够把XML文件中的数据显示在页面上,但有的时候我们更需要把数据从数据库中加载到导航控件中显示出来。这其实不难,只要我们编写自己的SqlSiteMapProvider就可以了。

要编写自定义的Provider程序只需要派生StaticSiteMapProvider类,并重写该类中有两个方法
GetRootNodeCall():返回站点地图的根节点
BuildSiteMap():构建站点地图并返回根节点
除了这两个方法外,我们还常用到的就是Initialize()方法。当我们在Web.Config中注册我们自定义的Provider时,当程序运行时就会触发该Provider的Initialize()方法,初始化该Provider,并把Web.Config中配置的names和values等内容传入Initialize(),在Initialize()方法中把传入的内容保存到类的成员变量中去,以便其它方法的使用。
下面我们编写一个SqlTreeProvider,从数据库中读取行政区的数据,向导航控件提供数据。
数据库结构如下:

下面是我们编写的SqlTreeProvider代码
public class SqlTreeProvider : StaticSiteMapProvider
{
//连接字符串,从web.config中取得连接字符串的值,以知道该从哪个数据库中读取数据
protected string _ConnectionString;
//根节点对象
protected SiteMapNode _Root;
public SqlTreeProvider()
{
}
//从web.config中读取内容,初始化成员变量。
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection attributes)
{
base.Initialize(name, attributes);
_ConnectionString = attributes["connectionString"].ToString();
}
//用于递归读取行政区的方法
private void CreateNode(SiteMapNode parentNode)
{
if (parentNode == null)
return;
List<NodeData> list = new NodeDA(_ConnectionString).Select(parentNode.Key);
foreach (NodeData data in list)
{
SiteMapNode node = new SiteMapNode(this, data.Code, "", data.Name);
this.AddNode(node,parentNode);
CreateNode(node);
}
}
//构建站点地图对象
public override SiteMapNode BuildSiteMap()
{
if (_Root == null)
{
_Root = new SiteMapNode(this, "0001", "", "中国");
AddNode(_Root);
CreateNode(_Root);
}
return _Root;
}
//返回根节点对象
protected override SiteMapNode GetRootNodeCore()
{
return _Root;
}

//内部类,实体类
class NodeData
{
public string Code
public string Name
public string ParentCode
}
//内部类,数据访问类
class NodeDA
{
private SqlConnection _Conn;
private SqlCommand _Cmd;
public NodeDA(string connectionString)
{
string cs = System.Configuration.ConfigurationManager.ConnectionStrings[connectionString].ConnectionString;
_Conn = new SqlConnection(cs);
_Cmd = _Conn.CreateCommand();
}
public List<NodeData> Select(string parentCode)
{
List<NodeData> list = new List<NodeData>();
_Cmd.CommandText = "select * from chinastates where parentareacode = @parentareacode";
_Cmd.Parameters.Clear();
_Cmd.Parameters.AddWithValue("@parentareacode",parentCode);
try
{
_Conn.Open();
SqlDataReader dr = _Cmd.ExecuteReader();
while (dr.Read())
{
NodeData data = new NodeData
{
Code = dr["areacode"].ToString(),
Name = dr["areaname"].ToString(),
ParentCode = dr["parentareacode"].ToString()
};
list.Add(data);
}
}
finally
{
_Conn.Close();
}
return list;
}
}
}

上面我们编写完成SqlTreeProvider,如果让系统能够识别它,并利用它加载数的话,还应录在web.config中注册它。
壹寰(深圳)科技文化有限公司
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
stool260
2011-02-15 · TA获得超过2374个赞
知道小有建树答主
回答量:1849
采纳率:0%
帮助的人:1055万
展开全部
如何利用数据库存储网站地图,并用TreeView和Menu控件实现导航。 为导航当我们在Web.Config中注册我们自定义的Provider时,当程序运行时就会触发该
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尚学堂前端学院
2020-08-07 · 百度认证:北京尚学堂科技官方账号
尚学堂前端学院
向TA提问
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式