『壹』 dreamwear8動態表格顯示資料庫內容
在asp文件最上面加上<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
如果有
<!--#include file="xx"-->這樣的語言請放到
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">後面,
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!--#include file="xx"-->
『貳』 用js實現動態添加表格數據
1、在頁面div中事先創建一個空白表格,可以根據需求而定。
『叄』 php中,如何把用JS代碼生成的動態表格中的數據插入到mysql資料庫中
這個肯定要用ajax了! 在php代碼中獲取ajax信息,在分別存入資料庫中! ajax怎麼用 這么學編程的都知道去搜索引擎搜索了!
『肆』 怎麼從資料庫中調出數據並生成動態圖表
JSP頁面中嵌入動態圖表的兩種方法 :在JSP頁面中插入Applet小程序 ;通過JavaBean動態生成圖像。
JSP是一種廣泛應用的網頁設計技術 ,它是一種HTML和Java腳本混合的編程技術 ,它結合了HTML的靜態特性和Java語言的動態能力 ,因此用它進行動態網頁設計非常方便。在進行圖像處理時 ,一般處理靜態圖片非常容易 ,但是 ,在實際應用中常常需要動態地在網頁中生成二維的圖形.
基於JFreeChart開發的一個時序圖的繪制。代碼如下:
實例中createDataset()方法用於創建數據集合對象。時序圖的數據集合與其他數據集合不同,它需要添加一個時間段內的所有數據,通常採用TimeSeries類進行添加。該實例中通過Math類的random()方法進行隨機生成。
import java.awt.*;
import java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import java.io.BufferedInputStream;
import
java.io.DataInputStream;
import java.io.FileOutputStream;
import
java.io.IOException;
import java.net.URL;
import
java.net.URLConnection;
import java.text.DateFormat;
import
java.text.ParseException;
import java.text.SimpleDateFormat;
import
java.util.Calendar;
import java.util.Date;
import java.util.Random;
import javax.swing.JApplet;
import javax.swing.Timer;
import org.jfree.chart.*;
import
org.jfree.chart.annotations.CategoryTextAnnotation;
import
org.jfree.chart.axis.CategoryAnchor;
import
org.jfree.chart.axis.CategoryAxis;
import
org.jfree.chart.axis.CategoryLabelPositions;
import
org.jfree.chart.axis.DateAxis;
import
org.jfree.chart.axis.DateTickUnit;
import
org.jfree.chart.axis.DateTickUnitType;
import
org.jfree.chart.axis.ValueAxis;
import
org.jfree.chart.labels.;
import
org.jfree.chart.plot.CategoryPlot;
import
org.jfree.chart.plot.PlotOrientation;
import
org.jfree.chart.plot.XYPlot;
import
org.jfree.chart.renderer.category.BarRenderer;
import
org.jfree.chart.title.TextTitle;
import
org.jfree.data.category.CategoryDataset;
import
org.jfree.data.category.IntervalCategoryDataset;
import org.jfree.chart.axis.NumberAxis;
import
org.jfree.data.category.DefaultCategoryDataset;
import
org.jfree.data.gantt.Task;
import org.jfree.data.gantt.TaskSeries;
import
org.jfree.data.gantt.TaskSeriesCollection;
import
org.jfree.data.time.Day;
import org.jfree.data.time.Second;
import
org.jfree.data.time.TimeSeries;
import
org.jfree.data.time.TimeSeriesCollection;
import
org.jfree.data.xy.XYDataset;
public class shixutu extends JApplet {
//PLOT_FONT是一靜態的字體常量對象,使用此對象可以避免反復用到的字體對象被多次創建
private static final Font PLOT_FONT = new Font("黑體", Font.ITALIC ,
18);
JFreeChart chart;
//創建數據動態更新的監聽
class DataGenerator extends Timer
implements ActionListener {
private static final long serialVersionUID =
3977867288743720504L;
String
equID;
//設備ID號
int
totalTask;
//任務數
String[][]
strTask;
//任務情況
public void
actionPerformed(ActionEvent actionevent) {
addTotalObservation();
} DataGenerator()
{
super(1000,
null);
addActionListener(this);
System.out.println("super");
}
}
//將更新的數據添加到chart中
private void addTotalObservation()
{
System.out.println("addTotalObservation");
//設置新的數據集
chart.getXYPlot().setDataset(createDataset());
//通知Jfreechart
數據發生了改變,重新繪制柱狀圖
if
(chart != null)
{
chart.fireChartChanged();
}
}
private static void
processChart(JFreeChart chart)
{
//設置標題字體
chart.getTitle().setFont(new Font("隸書", Font.BOLD,
26));
//設置背景色
chart.setBackgroundPaint(new
Color(252,175,134));
XYPlot plot = chart.getXYPlot();
//獲取圖表的繪制屬性
plot.setDomainGridlinesVisible(false);
//設置網格不顯示
//獲取時間軸對象
DateAxis dateAxis = (DateAxis)
plot.getDomainAxis();
dateAxis.setLabelFont(PLOT_FONT);
//設置時間軸字體
//設置時間軸標尺值字體
dateAxis.setTickLabelFont(new
Font("宋體",Font.PLAIN,12));
dateAxis.setLowerMargin(0.0);
//設置時間軸上顯示的最小值
//獲取數據軸對象
ValueAxis valueAxis =
plot.getRangeAxis();
valueAxis.setLabelFont(PLOT_FONT);
//設置數據字體
DateFormat format = new SimpleDateFormat("mm分ss秒");
//創建日期格式對象
//創建DateTickUnit對象
DateTickUnit dtu = new
DateTickUnit(DateTickUnitType.SECOND,30,format);
dateAxis.setTickUnit(dtu);
//設置日期軸的日期標簽 } //將結果輸出在文件中
private static
void writeChartAsImage(JFreeChart chart)
{
FileOutputStream fos_jpg =
null;
try
{
fos_jpg = new
FileOutputStream("D:\\test\\shixutu.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 400, 300,
null);
} catch (Exception e)
{
e.printStackTrace();
} finally
{
try
{
fos_jpg.close();
} catch (Exception e)
{
}
}
}
//創建數據集合對象
public static XYDataset createDataset()
{
//實例化TimeSeries對象
TimeSeries timeseries = new
TimeSeries("Data");
Second second = new Second();
//實例化Day
double d =
50D;
//添加一年365天的數據
for (int i = 0; i < 500; i++)
{
d = d + (Math.random() - 0.5) * 10;
//創建隨機數據
timeseries.second(day, d);
//向數據集合中添加數據
second = (Second)
second.next();
}
TimeSeriesCollection timeSeriesCollection =
new
TimeSeriesCollection(timeseries);
//返回數據集合對象
return timeSeriesCollection; } //Applet程序初始化
public void init()
{
// 1.
得到數據
XYDataset dataset =
createDataset();
// 2.
構造chart
chart =
ChartFactory.createTimeSeriesChart(
"時序圖示範", //
圖表標題
"時間", //
目錄軸的顯示標簽--橫軸
"數值", //
數值軸的顯示標簽--縱軸
dataset, //
數據集
false,
false, //
是否生成工具
false //
是否生成URL鏈接
);
// 3.
處理chart中文顯示問題
processChart(chart);
// 4.
chart輸出圖片
//writeChartAsImage(chart);
// 5. chart
以swing形式輸出
//6.使用applet輸出
ChartPanel chartPanel = new
ChartPanel(chart);
chartPanel.setPreferredSize(new
java.awt.Dimension(800,500));
getContentPane().add(chartPanel); (new
DataGenerator()).start();
}
public void
paint(Graphics g)
{
if
(chart != null)
{
chart.draw((Graphics2D) g,
getBounds());
}
}
public void destroy() {
}
}
『伍』 如何在資料庫動態建表
動態建表首先需要了解Statement類
Statement 對象用 Connection 的方法createStatement 創建,例如
//創建連接對象
Connection connection = DBUtil.getConnection();
//創建Statement對象
Statement statement=connection.createStatement();
創建完之後通過執行以sql語句為參數的Statement的方法,來執行sql語句完成對資料庫的操作。
Statement共有三種方法,分別是 executeQuery、executeUpdate 和execute。
方法 executeQuery 用於產生單個結果集的語句,例如 SELECT 語句。
方法 executeUpdate 用於執行 INSERT、UPDATE 或 DELETE 語句以及 SQLDDL(數據定義語言)語句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE語句的效果是修改表中零行或多行中的一列或多列。executeUpdate 的返回值是一個整數,指示受影響的行數(即更新計數)。對於CREATE TABLE 或 DROP TABLE 等不操作行的語句,executeUpdate 的返回值總為零。如果沒有進行操作就返回-1。
方法 execute用於執行返回多個結果集、多個更新計數或二者組合的語句,我們不會需要該高級功能,所以本概述就不進行介紹了。
動態建表實例:
String tablename="WrongExpression";
sql = "create table "+tablename+"(time varchar(255),expression varchar(20),result varchar(20))";
int result = stmt.executeUpdate(sql);// executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功
『陸』 怎麼實現將動態增加的表格中的數據插入資料庫。
這個問題主要還是對資料庫的操作
這里是行業類別管理
添加新的行業
<%
db.DBConn
dc=new
db.DBConn();
cms.infoManager
im=new
cms.infoManager(dc.getConn());
Vector
allt=im.getAllType();
for(int
i=0;i
<%
}
%>
編號
行業
描述
操作
<%=nt.getTypeid()
%>
<%=nt.getTypename()
%>
<%=nt.getTypedes()
%>
刪除
修改
『柒』 怎麼實現將動態增加的表格中的數據插入資料庫。
這個問題主要還是對資料庫的操作
<body>
這里是行業類別管理<br>
<a href="manager/addtype.jsp">添加新的行業</a> <br>
<table>
<tr style="background-color:#3399ff;">
<td>編號</td>
<td>行業</td>
<td>描述</td>
<td>操作</td>
</tr>
<%
db.DBConn dc=new db.DBConn();
cms.infoManager im=new cms.infoManager(dc.getConn());
Vector allt=im.getAllType();
for(int i=0;i<allt.size();i++)
{
cms.Type nt=(cms.Type)allt.get(i);
%>
<tr>
<td><%=nt.getTypeid() %></td>
<td><%=nt.getTypename() %></td>
<td><%=nt.getTypedes() %></td>
<td>
<a href="manager/deleteType.jsp?tid=<%=nt.getTypeid() %>">刪除</a>
<a href="manager/modyType.jsp?tid=<%=nt.getTypeid() %>">修改</a>
</td>
</tr>
<%
}
%>
</table>
</body>
『捌』 java web 中如何用一個動態的table表接受資料庫中的數據
你要的是這樣嗎?如果不是.請告訴我.
<logic:notEmpty name="Detail" scope="request" > //Detail 你查詢到的資料庫的數據LIST
<table cellpadding=3 cellspacing=1 align="left" border="0" width="100%" class="thinBorder">
<tr>
<th align="left"> No</th>
</tr>
<% String cla="#ffffff";%>
<logic:iterate id="INFO" name="Detail" >
<tr bgcolor="<%=cla%>" >
<td align="left"><bean:write name="INFO" property="INFONO"/></td>
</tr>
<% if (cla.equals("#ffffff"))
{cla="";}
else {cla="#ffffff";} %>
</logic:iterate>
</table>
</logic:notEmpty>
<logic:present name="Detail" scope="request" >
<logic:empty name="Detail" scope="request" >
<table class="thinBorder"><tr><td class="header">No DATA</td></tr></table>
</logic:empty>
</logic:present>
『玖』 最近在做winform.需要用到動態表格來動態顯示資料庫的欄位,資料庫用的是SqlServer,表格行、列可擴展
winform里的DataGridView控制項就能完成這個任務。你的表格內容每次發生變化以後,重新給控制項設定列,然後重新綁定數據就可以了。你如果還想做得更智能。那麼就在資料庫中設計上,列名,列綁定的數據源名,然後每次更新後在前端解析一次,然後刷新控制項就OK
『拾』 求助用python從資料庫取數據動態生成表格的方法
一、可使用的第三方庫
python中處理excel表格,常用的庫有xlrd(讀excel)表、xlwt(寫excel)表、openpyxl(可讀寫excel表)等。xlrd讀數據較大的excel表時效率高於openpyxl,所以我在寫腳本時就採用了xlrd和xlwt這兩個庫。介紹及下載地址為:http://www.python-excel.org/ 這些庫文件都沒有提供修改現有excel表格內容的功能。一般只能將原excel中的內容讀出、做完處理後,再寫入一個新的excel文件。
二、常見問題
使用python處理excel表格時,發現兩個個比較難纏的問題:unicode編碼和excel中記錄的時間。
因為python的默認字元編碼都為unicode,所以列印從excel中讀出的中文或讀取中文名的excel表或sheet時,程序提示錯誤UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)。這是由於在windows中,中文使用了gb2312編碼方式,python將其當作unicode和ascii來解碼都不正確才報出的錯誤。使用VAR.encode('gb2312')即可解決列印中文的問題。(很奇怪,有的時候雖然能列印出結果,但顯示的不是中文,而是一堆編碼。)若要從中文文件名的excel表中讀取數據,可在文件名前加『u』表示將該中文文件名採用unicode編碼。
有excel中,時間和日期都使用浮點數表示。可看到,當『2013年3月20日』所在單元格使用『常規』格式表示後,內容變為『41353』;當其單元格格式改變為日期後,內容又變為了『2013年3月20日』。而使用xlrd讀出excel中的日期和時間後,得到是的一個浮點數。所以當向excel中寫入的日期和時間為一個浮點數也不要緊,只需將表格的表示方式改為日期和時間,即可得到正常的表示方式。excel中,用浮點數1表示1899年12月31日。
三、常用函數
以下主要介紹xlrd、xlwt、datetime中與日期相關的函數。
import xlrd
import xlwt
from datetime
def testXlrd(filename):
book=xlrd.open_workbook(filename)
sh=book.sheet_by_index(0)
print "Worksheet name(s): ",book.sheet_names()[0]
print 'book.nsheets',book.nsheets
print 'sh.name:',sh.name,'sh.nrows:',sh.nrows,'sh.ncols:',sh.ncols
print 'A1:',sh.cell_value(rowx=0,colx=1)
#如果A3的內容為中文
print 'A2:',sh.cell_value(0,2).encode('gb2312')
def testXlwt(filename):
book=xlwt.Workbook()
sheet1=book.add_sheet('hello')
book.add_sheet('word')
sheet1.write(0,0,'hello')
sheet1.write(0,1,'world')
row1 = sheet1.row(1)
row1.write(0,'A2')
row1.write(1,'B2')
sheet1.col(0).width = 10000
sheet2 = book.get_sheet(1)
sheet2.row(0).write(0,'Sheet 2 A1')
sheet2.row(0).write(1,'Sheet 2 B1')
sheet2.flush_row_data()
sheet2.write(1,0,'Sheet 2 A3')
sheet2.col(0).width = 5000
sheet2.col(0).hidden = True
book.save(filename)
if __name__=='__main__':
testXlrd(u'你好。xls')
testXlwt('helloWord.xls')
base=datetime.date(1899,12,31).toordinal()
tmp=datetime.date(2013,07,16).toordinal()
print datetime.date.fromordinal(tmp+base-1).weekday()